Projects

The build behind each one — the problem it solved, the tradeoffs, and what I'd change. Every card links through to something running: the browser tools live in the Lab, and Praxis and Build Components run on their own domains.

Live2026

CSS Shapes & Animation Playground

Shapes, glass, gradients and layered shadows tuned live in your own colours — every control copies out as plain CSS or a Tailwind arbitrary-value class.

Next.jsTypeScriptCSS
Live2026

UTM Link Builder

Preserves query params already on the URL instead of clobbering them, and catches a missing utm_ prefix — built from tagging 200+ campaign URLs by hand.

Next.jsTypeScriptTailwind CSS
Live2026

Illustration Generator

Composes a unique animated SVG from a text description — procedural layout and finish built from motif primitives, not a preset list you pick from.

Next.jsTypeScriptSVG
Live2026

Meta Tags & Social Preview Generator

One title and description rendered as three real previews at once — Google result, X card, Facebook OG — with live character counts and copyable tags.

Next.jsTypeScriptSEO