The @apply Habit I Broke Moving to Tailwind v4
Tailwind v4 stopped letting @apply see my @layer components classes. The fix was not converting them to @utility, it was deleting most of them. Here…
Tailwind v4 stopped letting @apply see my @layer components classes. The fix was not converting them to @utility, it was deleting most of them. Here…
I migrated three production projects from Tailwind v3 to v4 in one weekend. What the upgrade tool fixed, what silently broke, and the checks I'd…
I moved a Next.js app from Tailwind v3 to v4 on a Sunday. Here's what the @theme block, the Oxide engine, and the one migration…
My real Tailwind v3 to v4 migration notes: the utility renames, the CSS-first config, the PostCSS pipeline change, and every place my styles quietly broke.
Tailwind v4 ships container queries as first-class utilities. Here's the @container pattern I now reach for, with before-and-after code from real components.
Tailwind and Bootstrap stopped being the same kind of tool. Here's how I choose between them in 2026, with the code and the maintenance math…
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 ships container queries in core. Here's the rewrite that stopped my product cards from breaking in sidebars, and where I still avoid them.
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…
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…