
React Compiler: Goodbye useMemo?
A codebase with 400 useMemo calls and still-broken re-renders is what pushed us to React Compiler 1.0. What it auto-memoizes, and where useMemo survives.
Tag

A codebase with 400 useMemo calls and still-broken re-renders is what pushed us to React Compiler 1.0. What it auto-memoizes, and where useMemo survives.

Two CSS features quietly deleted a chunk of our JavaScript and our Sass build step: the :has() parent selector and native nesting. Here's what they replace.

Migrating to Tailwind CSS v4 means a CSS-first @theme config, a Rust-based Oxide engine, and renamed utilities. Field notes and a migration checklist.

Can you actually ship real products on native custom elements in 2026? We look at Shadow DOM, declarative SSR, and React/Vue interop without the sales pitch.

The story of rebuilding a broken signup form with React Hook Form and Zod: schema validation, onBlur mode, aria-invalid, role=alert, and server-side reuse.

Signals are a fine-grained reactivity model: only the changed value updates, no virtual-DOM diffing. Here's how Solid, Angular, Preact, and Svelte 5 use it.

Edge functions vs. regional serverless functions compared: the real latency win, the data-locality trap, streaming SSR at the edge, and a 2026 decision table.

Learn the View Transitions API: startViewTransition() for SPAs, the @view-transition CSS rule for MPAs, shared-element morphs, and reduced-motion fallbacks.

Most CRUD apps don't need a SPA. Here's how bundle size, the hypermedia model, and HTMX 4.0's built-in View Transitions change the React calculus.