Writing
Blog
- One library, many opinions
October 21, 2026
We pulled the shared Angular bits into a library to stop three apps drifting apart. The code was easy. Deciding what counts as public was not.
- Signals and the things that stopped breaking
October 16, 2026
Moving an Angular app onto signals didn't make it simpler so much as make it honest about which state was real and which was derived.
- Teaching a computer to lose
September 9, 2026
Minimax gave me an opponent that couldn't be beaten. Building one that loses well turned out to be the harder problem.
- Building the same thing four times
August 28, 2026
Slack, Gmail, Zapier, Teams — I've wired the same product into all four. Some notes on what surviving other people's APIs teaches you.
- Hello — a little intermezzo about me
June 7, 2026
First post. No grand plan, just me saying hi and rambling a bit about who I am.