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.


The actual product, not a mockup.
Pinnlo is a real, shipped SaaS. You start with an idea in the Quick Start box, then work it through a chat-led strategy builder that breaks the business into phases (vision, audience, the numbers, launch), each producing structured, editable cards. A research hub pulls real market context in alongside it.


I didn't just build it, I launched it.
Design engineering doesn't stop at the product. I designed and produced the entire launch campaign (explainer and positioning reels, product demos, and slide carousels), all in one brand system, built in Remotion. Idea to product to audience, end to end.



Instagram · LinkedIn · the “toolbox” carousel
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.