// writing
Notes from the workshop.
Long-form thoughts on building software, weird experiments, and things I had to look up twice.
featuredMay 2026· 4 min
Why I rewrote my blog in a weekend (again)
The fourth rewrite is always the charm. A short note on why I keep starting over and what I finally got right.
Read post
BackendApr 2026
Edge functions: the new CGI scripts (and why that's good)
We've come full circle — and that's a feature, not a bug.
8 min read
DesignMar 2026
Designing for delight without sacrificing performance
How to add motion, sound, and surprise to your product while keeping the bundle under 100kb.
6 min read
DistributedFeb 2026
A tiny CRDT in 200 lines of TypeScript
Conflict-free replicated data types are easier than you think. Here's a working LWW set you can drop in today.
12 min read
NativeJan 2026
I shipped a Mac app and immediately regretted it
Notarization, Sparkle, App Store review — a love letter to native distribution and its many sharp edges.
9 min read
OpinionDec 2025
The case for boring stacks in 2026
Postgres, server-rendered HTML, and a single-binary deploy. Sometimes the answer is the same as it was in 2014.
5 min read
// inbox