how I do 0 → 1.
I learn by doing. I build a working prototype in code in about an hour, then work backwards — and once something clicks, I package it into a component library so other people can build with me.
Most 0 → 1 processes go research → ideate → mock in Figma → build. Mine is basically backwards. I explore in code, not in Figma — because I think with my hands, and a thing I can click tells me more than a thing I can only look at.
build something in code, in an hour
I skip the mockups and open Cursor or Claude Code. Next.js for web, SwiftUI for iOS. An hour in, I have something I can actually click — real fonts, real content, real interactions.
It’s rough on purpose. The prototype is how I think.
explore by using it
I sit with the thing and use it. Try variations directly in code — different layouts, different copy, different flows. This is where I figure out what the product actually wants to be.
Figma never enters here. It can’t show me what 120ms of motion feels like, or whether a keyboard hides the button I care about.
work backwards into a brief
Once I can feel the thing, the brief writes itself: one sentence on who it’s for, the promise, and the ways it could fall over. Claude and Perplexity are open for context — reviews, adjacent products, anything I missed the first time.
package what clicks into a component library
Once a pattern feels right, I lift it out of the prototype and into a real component. Named, typed, with the variants I’ve actually needed. Same for color, type, spacing — they get a system once I know what I’m systematizing.
This is the step that turns a personal sketch into something a team can build on. The library is how I collaborate — a shared vocabulary, not just shared files.
show it to people
I show the prototype to a few real people and watch where they hesitate. I’ll also ask Claude to walk through it as a specific kind of user — it catches things I’ve gone blind to.
If something needs explaining, I fix it instead.
polish
The last stretch is the small stuff: reduced motion, dark mode, empty states, the one transition that needs to feel right.
This part’s mostly hands-on. AI helps, but the “done” call is mine.
explore in code, package what works.
0 → 1 used to mean a long stretch of mockups before anyone could feel the thing. I’d rather build it first, learn from it, and then turn what works into a system other people can build with. The prototype is for thinking. The component library is for collaborating.