how I work.
Every project starts with me sitting down for a session with Claude Code and building a rough version I can click through. Then I use it, change it, and write things down once I know what I’m making. When something works, I turn it into components so the rest of the team can use it too.
- 01
Build a rough version first
I build a quick version of the idea in Next.js for web or SwiftUI for iOS, working in Claude Code or Cursor. Within an hour I usually have something I can click through, with real text and real interactions.
It doesn’t need to look good yet. Clicking through something teaches me more than looking at a mockup does.
- 02
Use it and try things
Then I use it the way someone actually would, and try different layouts, wording and flows right in the code. This is where I find out what’s working and what isn’t.
A static screen can’t show me how an animation feels, or that the keyboard covers the one button you need.
- 03
Write the brief
Once I know what I’m making, I write it down: who it’s for, what problem it solves, and where it could go wrong. I use Claude and Perplexity to fill in what I don’t know yet, like reviews of similar apps and what’s already out there.
- 04
Turn it into components
When a piece works, I pull it out into a proper component, with the variations I actually needed. Colors, type and spacing become a small design system.
That’s what lets engineers and other designers build on my work instead of starting from scratch.
- 05
Test it with people
I show it to a few people and watch where they get stuck. I also ask Claude to go through it as a specific kind of user, which catches things I’ve stopped noticing.
If something needs explaining, I change the design.
- 06
Polish
The last part is the details: empty states, reduced motion, and the transitions that have to feel just right. I do most of this by hand. AI helps, but I decide when it’s done.