I take software from a vague idea to a product people actually enjoy using. Twenty-five years in, what I care about isn’t the framework of the week, it’s making the right product and technical decisions and building things that still make sense a year later. I thrive at the intersection of product and engineering: helping decide what’s worth building, shaping the UX together with design, guiding the architecture, mentoring the team, and staying hands-on in the code.
I’ve fixed, finished, and shipped software for international clients such as Last.fm, Sentry, WeTransfer, and Unilever. I’ve also built Critical Notes and RSS Filter, 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.