I’ve spent 25 years building web and mobile products, and what I enjoy most is owning the whole arc: talking to users, deciding what’s worth building, shaping the UX, making the architectural decisions, mentoring the team, and still writing the difficult code myself.
I’ve fixed, finished, and shipped software for international clients such as Last.fm, Sentry, WeTransfer, and Unilever, and I built Critical Notes on my own, from first idea to running product.
On this site you’ll find my technical writing, open-source work, and more about working with me.
Apple keeps telling EU users that the DMA is the reason they can't have the latest features. But the reality is that Apple doesn't want to open up, so nobody gets it.
uv's CLI feels surprisingly clunky compared to its peers like pnpm or Poetry.
Scry is a pure-Swift, dependency-free, and fully Linux-compatible EXIF parser.
I just finished my most productive quarter in a long time, made possible by Claude Code, and there are two conflicting feelings that I want to talk about.
Normally I just stick to my once-yearly "year in review" articles, but the first three months of this year have been so productive that a Q1 update seems warranted.