Projects
From the lab
Every diagram on this blog is a live component, not a screenshot. This one steps through the branching workflow from the worktrees post.
Recent Posts
Interactive Blog Posts: Why I Built 30 Components Instead of Pasting Screenshots
Why this blog renders live simulators, draggable easing curves and step-through diagrams instead of static screenshots: the idea behind its 30 MDX components, what they cost to build, and the research — from Bret Victor's explorable explanations to Distill — on why a claim you can drag beats a claim you can only read.
Game feel on the web: squash, shake, and the art of juice
A button that just works is dead. I spent an evening teaching a side-project to punch back, and these are the six techniques that did it. Each one playable, dependency-free, and respectful of your settings.
Git Worktrees Let Me Run Three Claude Agents in Parallel
Three Claude agents on three bugs in one afternoon, only because each ran in its own git worktree. The file-isolation discipline that makes parallel AI agents safe, and the mistake that taught it to me.