Eight ways to open an article, and the one that keeps winningA typed hero system with eight arrangements, and what eighteen real choices revealed about which composition actually survives contact with a screenshot.0Design SystemsProduct DesignInteraction
The design doc was wrong about its own coloursA colophon that reads its own tokens instead of describing them — because the prose version had been describing a palette the code abandoned.0Design SystemsDesign EngineeringWorkflows
I wired Figma to the code. Then we left Figma.Code is the source of truth and the canvas is a synced view. Figma Connect proved it. Then the canvas stopped being worth the maintenance.0Design SystemsDesign EngineeringWorkflows
Fifteen prompts, five criteria: what a typed registry actually changedI couldn't run this on the registry I built at work. So I rebuilt the pattern on a component set I still have, ran 90 generations, and scored them.0Design SystemsDesign EngineeringAI
Case studySnowplow: one contract that people and coding agents build fromI embedded with Snowplow's teams, audited three drifting surfaces, and deployed one contract people and coding agents build from. They now run it without me.Read the case study0Design SystemsDesign EngineeringAI
One Wrapper Class Instead of Twelve Prose ModifiersSwapped Tailwind Typography for shadcn/typeset across every long-form surface — twelve prose modifiers on four routes became one wrapper class.0Design EngineeringDesign SystemsWorkflows
Turning a passive article into an interactive readerA design-engineering upgrade that adds text-to-speech, sentence highlights, progress, speed control, and reactions to long reads.0Design EngineeringProduct DesignInteraction
A closed world agents can't hallucinate out ofThe typed registry that stopped our coding agents inventing components — and the parallel package I killed in order to ship it.0Design SystemsDesign EngineeringAI
From Dead Hamburger to Floating DockProgressive portfolio enhancements building in real time0Design EngineeringProduct DesignInteraction
Case studyBuilding a portfolio design system with Subframe and Claude CodeHow I integrated a production design system into my live portfolio as a solo design engineer — without breaking the typography I already loved.Read the case study0Design SystemsDesign EngineeringAI
Case studyCustomer Value Agent — deploying an AI agent on the data customers already hadI led design on an AI agent at Thought Industries, got into the codebase, rebuilt it on data customers already had, and shipped to four paying beta customers.Read the case study0Product DesignDesign EngineeringStrategy & Research
3 Sprints in 3 Weeks: How Learn Everywhere Came TogetherDirection that anchored three years of growth at Thought Industries.0Product DesignStrategy & Research0->1
Case studySwirl Networks — the in-store platform that got acquired by Best BuyHired into marketing, I ended up leading product design — and shipped the in-store media platform Swirl was acquired by Best Buy for.Read the case study0Product DesignDesign SystemsStrategy & Research