How I build
I design it. Then I build it, with agents in the loop.
I design agentic systems for a living, and I build my own products the same way: agents in the loop, from first sketch to deployed. Five of them are live right now. What follows is the working method: the loop, the code I threw away, how I prompt, and what no agent touches. If you’re deciding whether “designer who ships” is real here, this is the page that settles it.
The loop: design in Figma, build in real code
My loop is tight. An idea becomes a deployed, working page in an afternoon, not a two-week sprint. I design the system in Figma, then build it in production code with Claude Code as a pair. I’m reading every diff, naming the components, and making the calls. The agent is the fastest pair I have ever worked with; it is not the designer.
Scope before execution
I groom the work before a single line is written. Before any branch, I write a one-page brief: the persona, the primary job to be done, the states that matter (empty, loading, error, success), the tokens, and a hard definition of done. Then the agent and I read the relevant files together, so the constraints surface before the build, not mid-diff.
It is far cheaper to change a decision in a sentence than in a diff. By the time I’m prompting for UI, the hard calls are already made, so the agent is executing a plan instead of guessing at one.
Three times I threw away code that worked
Working is not the bar. Some of my best decisions were deleting a clean, functioning build because it solved the wrong problem. Three examples, all shipped:
Cost appeared once, on the final summary screen. The build worked and the math was right.
A live meter, pinned to the exact step where you add the skills and knowledge that drive cost, ticking up as you go.
A live AI voice answered and handled calls end to end. A flawless demo.
Pre-recorded, human-sounding audio. I tore the live AI voice out completely.
Eight sequential slides walked through the full design progression. Complete, accurate, done.
Two slides: the one key moment, and why it happened.
How I prompt: in the language of the system
I don’t prompt in pixels. I prompt in the vocabulary of the system: tokens, states, contrast ratios, motion timed to real latency, and rules instead of symptoms. One precise sentence carries four decisions and prevents a round of follow-up questions.
Ship it for real
Design that lives in a Figma file is a proposal. I close the last mile myself: production React, deployed to Vercel, Replit, or Railway, with the analytics, empty states, and error paths that only show up once real people touch it.
UIScore, Sniffs.ai, SpeedyFixers, Pawsh, and this site are all live, designed and coded end to end. Shipping is not the last 10% of the work. It is where half the real design decisions actually get made.
What the agent doesn’t do
The agent makes me faster. It does not make me a designer. Three things stay entirely mine:
- Taste. An agent will happily ship the average of the internet. Deciding what is actually good, and killing what is merely fine, is the whole job.
- The research. The three fears that shaped EverWorker came from eleven interviews and six shadow sessions, not a model. AI can synthesize notes; it cannot sit in the room.
- The outcome. If it ships broken, that is on me, not the tool. Every diff gets read; every call gets owned.
Speed is the agent’s job. Judgment is mine.
Shipped this way