10 min read
Why I Standardized on Phosphor Icons Across 15 Repos (And Cut 60% of Icon Bundle Size)
Five icon systems across 15 repos created visual drift and 84KB bundles in the worst Next.js app.
The Lab · Written in the open · Tagged CSS
Working notes from the studio. The tools I build, the workflows I keep, the mistakes I paid for.
31 entries · latest 2026-10-02
10 min read
Five icon systems across 15 repos created visual drift and 84KB bundles in the worst Next.js app.
9 min read
Same-document transitions wrap state changes like filter chips and tab switches in a single startViewTransition call.
7 min read
Three-tier motion tokens: primitives like --ms-200 and --ease-out-expo feed semantic and component layers, never the other way around
8 min read
OKLCH gives you perceptual uniformity, so a 5% lightness change reads as a 5% lightness change at any…
11 min read
5 production CSS Anchor Positioning patterns: tooltips, dropdowns, inline edit popovers, context menus, follow-cursor labels. When to pick…
11 min read
5 production CSS Subgrid patterns for dashboards, forms, articles, and tables. When to reach for Subgrid vs grid-template-areas…
11 min read
Tailwind v4 ships a native @theme directive that replaces tailwind.config.js and makes design tokens first-class CSS.
8 min read
Six concrete CSS :has() patterns that replaced roughly 400 lines of JavaScript across raxxo.shop.
8 min read
Dark mode breaks when you use pure black #000 and pure white #fff, so I build every UI…
8 min read
CSS Cascade Layers (@layer) let you control the order of style precedence without specificity wars or !important tags
8 min read
Eight CSS properties that turn flat dark themes into polished, layered interfaces with depth, glass effects, and proper…
11 min read
Inside the CSS centering game with a 0.0001px threshold, anti-cheat that returns HTTP 418, and why free open…