Categories

Notes on the web platform, practical front-end architecture, and the small decisions that make everyday development better.

Latest Articles

Tailwind CSS 4.1 cover
Tailwind 4.1 after the hype
A practical look at where Tailwind keeps helping, and where discipline still matters.
Published on
WordPress practical choice cover
WordPress is still a practical choice
Modern front-end developers should not dismiss WordPress when the content workflow is the real product requirement.
Published on
Design system naming cover
Design systems need boring names
A small argument for naming tokens, components, and patterns in ways future developers can understand quickly.
Published on
Vite tooling cover
Vite 7 and the value of quiet tooling
Fast local development is not only about speed. It is about staying in the problem long enough to solve it well.
Published on
Next.js performance cover
Next.js 16 and boring performance work
Why the best framework updates are often the ones that make everyday builds, caching, and navigation less dramatic.
Published on
Passkeys and login flow cover
Passkeys are the login feature users should not notice
The best authentication improvements are the ones that reduce friction without making the interface louder.
Published on
Performance budgets cover
Performance budgets without killing creativity
Performance work gets easier when budgets are treated as design constraints, not punishment.
Published on
Container queries and component layout cover
Container queries changed how I think about components
Responsive UI gets calmer when components can respond to their own space instead of the whole viewport.
Published on
Design systems for small teams cover
Design systems for small teams
A design system does not need to start as a grand platform. Sometimes it starts with five components that stop repeating mistakes.
Published on
Page 3 of 4