Writing
Thoughts, tutorials, and things I've learned along the way.
CSS scroll-driven animations let you build a reading progress bar with zero JavaScript. Here's the entire implementation — it's smaller than most import statements.
Most view transition demos look impressive but feel wrong in production. Here's how I designed page transitions that feel like a magazine — not a PowerPoint deck.
How the CSS light-dark() function lets you define both theme colours in a single declaration — and why it pairs perfectly with color-scheme.
A step-by-step guide to adding a flicker-free dark mode to your TanStack Start application using server functions and cookies.
No MDX, no content layer, no CMS. Just markdown files, gray-matter, and marked. Here's the entire blog engine for this site.
CSS has an infinity constant. It's the end of z-index wars, magic numbers, and border-radius hacks.