Writing
Blog
Longer-form notes on building for the web — interfaces, tooling, and the craft of shipping software that feels good to use.
Latest5 min read
Designing a reading experience, not just a blog
Notes from building this blog — the measure, vertical rhythm, sidebars that stay out of the way, and the small interactions that make long-form text feel considered.
Spring physics for UI motion, explained with Motion
Duration-based easing looks fine until something interrupts it. Springs don't have that problem. Here's the mental model, the two numbers that matter, and a live playground to build intuition.
The kitchen sink: every element this blog can render
A reference post that exercises every markdown construct, code-block feature, and custom component the blog supports. Bookmark it, then copy from it.
A short note on Geist Mono
Why the code on this site is set in Geist Mono, what it does well, and the one setting I turn off.
1 min readTypographyTooling