PHP 8.4 Property Hooks: The Getters I Stopped Writing
PHP 8.4 property hooks and asymmetric visibility, with before-and-after code. The getter and setter boilerplate I deleted, and where these features bite back.
PHP 8.4 property hooks and asymmetric visibility, with before-and-after code. The getter and setter boilerplate I deleted, and where these features bite back.
Tailwind CSS v4 moves config into CSS, auto-detects content, and bakes in container queries. Before-and-after code on what changed and what it costs you.
React 19 forms, useActionState, and useOptimistic with before-and-after code. The features I actually kept after upgrading, and the one I'm still careful with.
Drizzle vs Prisma in 2026: my honest take after six months in production on Next.js, Hono on Workers, and one boring Node service on a…
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…
React 19 turns ref into a regular prop, so forwardRef is on its way out. Here's how I migrate components, plus the codemod gaps and…
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 moved nearly every mutation in two production Next.js apps onto Server Actions. Here is what got deleted, what useActionState fixed, and what still bites.
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.