← back home
~ process ~

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.

~ 01 ~
~1 hour

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.

the prototype is the question, not the answer.
~ 02 ~
½ – 1 day

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.

~ 03 ~
½ day

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.

~ 04 ~
1 – 2 days

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.

systems are easier to build once there’s something to systematize.
~ 05 ~
1 day

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.

~ 06 ~
1 – 2 days

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.

~ the short version ~

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.

see it in practice →daisy case study