Frontend Development
Writing from the Frontend Development column — essays, field notes, and quiet recommendations.

spring-counter
spring-counter is a tiny, dependency-free React library that animates a number toward its target using a real spring simulation — mass, stiffness, and damping — instead of a fixed-duration tween, so stats count up and live values retarget with motion that actually feels physical. It ships a drop-in

headless-modal
headless-modal is an accessible, headless modal / dialog primitive for React — it owns the behavior that's easy to get wrong (focus trap, focus return, body scroll lock with scrollbar compensation, portal rendering, Escape and overlay-click dismissal, and the full WAI-ARIA dialog wiring) and ships z

headless-radio-group-react
headless-radio-group-react is an accessible, headless radio group primitive for React — it owns the tricky behavior (roving tabindex, orientation-aware arrow-key navigation, Home/End, Space/Enter, and the full WAI-ARIA radio pattern) and ships zero styling, so you keep complete control of the markup

magnet-cursor
magnet-cursor is a tiny React library for the "magnetic cursor" interaction you see on award-winning sites: a custom cursor that glides across the page and snaps onto your buttons and links as the pointer drifts near them. You render one component, tag the elements you want to feel sticky with `data

glow-card-react
glow-card-react is a tiny React library that adds a cursor-tracking glow to any card — a soft radial spotlight that follows the pointer and fades out when it leaves. It ships a drop-in `<GlowCard>` component and a headless `useGlowCard` hook, works with both React 18 and 19, and has zero runtime dep

I built a tool that grades how fragile your CSS is
css-unused-finder is a hosted, browser-only tool that reads any stylesheet and grades how fragile it is — flagging `!important` pileups, ID selectors, runaway specificity, deep descendant chains, magic z-index values and duplicate selectors, then rolling them into a 0–100 fragility score and an A–F

I built a CLI that prints a specificity heat map for your CSS
A tiny CLI that reads a stylesheet and prints a color-coded heat map of every selector's specificity — making the usually-invisible cause of failing CSS overrides visible at a glance.

typewriter-fx
typewriter-fx is a tiny, dependency-free React library for typewriter text effects with a cursor that actually behaves like a real one — solid while characters are landing, blinking only when the typing rests. It ships a drop-in `<Typewriter>` component for the common case and a headless `useTypewri

gradient-border-react
Animated gradient border that flows around any element

headless-toast
Tiny, fully-accessible toast primitive

scroll-reveal-kit
Drop-in IntersectionObserver reveal animations