Tailwind v4 Dark Mode: From darkMode Config to One CSS Line
Tailwind v4 dropped the darkMode config key. Here is how dark mode works now: one CSS custom-variant line, the theme-flash fix, and a real system…
Tailwind v4 dropped the darkMode config key. Here is how dark mode works now: one CSS custom-variant line, the theme-flash fix, and a real system…
I shipped the same marketing site in Next.js and then in Astro, then kept score. Here's when I actually reach for each, with bundle numbers…
Tailwind v4 ships container queries in core. Here's the rewrite that stopped my product cards from breaking in sidebars, and where I still avoid them.
Why I stopped writing useEffect-for-data-fetching and what TanStack Query actually replaces in 2026, with real before/after code from production.
Pages Router in Next.js isn't legacy in 2026. Here's when I still reach for it instead of App Router on real production projects, with code…
Eight months running React Server Components in production. The boundary patterns that worked, the bugs I shipped, and when I still pick client components.
After 4 years with Tailwind, I extract components way later than guides suggest. Here's what earns a real component, what stays inline, and why my…
useOptimistic in React 19 is the first optimistic UI API I actually shipped. Six months of production lessons: where it fits, where it doesn't, what…
I sat on the Tailwind v4 upgrade for three months. Here's what actually broke when I migrated a production Next.js app, and what I'd do…
I spent a Sunday turning on the React Compiler in a real Next.js app. Here's what I deleted, what bit me, and the eslint rule…