The blog

Writing from the workshop

177 articles on the parts that actually hurt.

section
The page transition you pay a library for is now free
CSS

The page transition you pay a library for is now free

You reach for Framer Motion or GSAP to make navigation feel smooth. The View Transitions API does the same thing natively — and the starting price is a single CSS rule.

Jul 3, 2026 · 5 min
:has() isn't a parent selector. It deletes JavaScript.
CSS

:has() isn't a parent selector. It deletes JavaScript.

Everyone calls :has() the parent selector. That framing is too small — it's a condition evaluator that obsoletes a whole category of class-toggling JS, and it's in every browser today.

Jul 2, 2026 · 4 min
Optimistic Updates: Stop Making Your Save Button Wait for the Server
JavaScript

Optimistic Updates: Stop Making Your Save Button Wait for the Server

Every click that spins for a server round-trip is a choice you made. Optimistic updates remove the wait — but the rollback is where almost every implementation quietly breaks.

Jul 1, 2026 · 4 min
Your card breaks in the sidebar. Here's the real fix.
CSS

Your card breaks in the sidebar. Here's the real fix.

A component that looks perfect in the main column falls apart in a sidebar — and the viewport width says everything's fine. The bug isn't your CSS. It's the question your CSS is asking.

Jun 30, 2026 · 5 min
The URL Is Your Best State Manager
JavaScript

The URL Is Your Best State Manager

You're storing filter state, search queries, and pagination in useState — and losing it every time someone refreshes. The URL already does this better.

Jun 29, 2026 · 4 min
Server Components Without the Hype: A Mental Model That Sticks
React

Server Components Without the Hype: A Mental Model That Sticks

RSC isn't 'SSR 2.0' and it isn't magic. Here's the one distinction that makes the whole model click.

Jun 28, 2026 · 3 min
TypeScript Won. Here's What That Actually Bought Us.
TypeScript

TypeScript Won. Here's What That Actually Bought Us.

The 'should we use TypeScript?' debate is over. The interesting question is what all those types are quietly enabling now.

Jun 28, 2026 · 3 min
Your Design System Is Now an API for Machines
Design Systems

Your Design System Is Now an API for Machines

Component libraries used to be for humans. Now they're the rails an AI plans against — and that changes how you should build them.

Jun 26, 2026 · 3 min
The Frontend Is Becoming a Conversation: Where UI Engineering Goes Next
AI

The Frontend Is Becoming a Conversation: Where UI Engineering Goes Next

Frontend stacks consolidated, the rendering wars cooled off, and AI quietly changed what a frontend engineer actually does all day. Here's where it's heading.

Jun 25, 2026 · 5 min