Graduated in August. Wanted to test myself by building a full product.
No team, no brief, no permission. Four months, solo, in Claude Code — designing and shipping a real multi-agent SaaS end to end, to learn what AI product design actually feels like under the hood.
From empty repo to production SaaS — evenings and weekends, no team.
Designer. Every flow, component, token, and agent prompt — mine.
Handovers. Figma to production was me, talking to myself, in both directions.
My process, step by step.
- 01Wrote my own brief
Who Pinnlo was for, what 'shipped' meant, what I'd cut first if I ran out of time.
- 02Sketched flows on paper
Before Figma, before code. Just arrows and verbs. Got to v1 in an afternoon.
- 03Built components before screens
Buttons, cards, inputs, tokens — done first. Every screen then assembled in minutes, not hours.
- 04Prototyped in code, not Figma
I skipped high-fidelity mocks and built working screens with Claude Code. Real data broke assumptions fast.
- 05Shipped ugly, iterated in production
Deployed v1 while it still had rough edges. Every real user click taught me more than a week of polish would have.
- 06Cut more than I added
Half the features I drew never made it. The ones that stayed got sharper every round.
Every stack choice was also a design choice.
Routing cheap models to chat and premium ones to reasoning wasn't a cost decision — it was a UX decision. Persistent context lives in pgvector because the design depended on it. FastAPI agents are isolated so I could iterate on one without breaking the others. Designing the system and building it were the same job — which is the whole argument for design engineers.
Next.js 16
App Router · React 19 · Tailwind v4 · Framer Motion
FastAPI
Python 3.11 · 13 specialised agents · Supervisor
Supabase
Postgres 15 · pgvector · RLS · auth · storage
Stripe
Subscriptions · monthly usage · billing portal
“Ideas Don't Need Permission. They Need a Plan.”
I designed and built the Pinnlo marketing site end to end — hero, features grid, pricing, FAQ. The site needed to explain an AI product without sounding like every other AI landing page, so I led with the problem (ideas die without a plan) and showed the product through feature cards: Research, Strategy Cards, AI Design Hub, Voice mode, Video, and Export.


Four months solo taught me what design school couldn't.
Designing in Figma is safe. Designing in a live codebase is honest. I watched my own mockups fall apart the moment real data, real loading states, and real edge cases hit them — and I had to redesign, in code, at midnight, with no one to blame. That loop is the fastest teacher I've had.
Thirteen agents taught me that consistency in AI products is a design job, not a prompt job. Every agent needed the same tone, the same output shape, the same failure behaviour. I wrote system prompts like I write components: one source of truth, reused everywhere.
Shipping solo taught me to cut. Every feature I cut made the next one clearer. Pinnlo is smaller than I originally drew it — and it's better for that. I'm freelancing now to help other teams make the same cuts, faster.
A 24-component system,
hand-built. →
The whole app runs on a design system I built from scratch — not in Figma, not in React, but as a folder of working HTML prototypes. It's the reason Pinnlo ships so fast.