Writing on web development, indie building, and learning.

Long-form notes on the things I work on — Next.js, shipping solo, spaced repetition, and what coaching chess has taught me about how people actually learn.

My AI coding loop: design first, tests next

How I use Claude Code and Cursor day-to-day on Rabbitholes.ai and NeverCram. The test suite is the leash, and the design doc keeps the model honest.

The SEO I actually ship on NeverCram

The four SEO moves that moved traffic on NeverCram, the ones I skipped on purpose, and the two-minute pre-launch check that catches every OpenGraph mistake I have ever made.