01 — Why I built it

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.

4 mo

From empty repo to production SaaS — evenings and weekends, no team.

1

Designer. Every flow, component, token, and agent prompt — mine.

0

Handovers. Figma to production was me, talking to myself, in both directions.

Welcome to Pinnlo
Your AI business partner. Think through your idea, challenge assumptions, produce structured deliverables.
Build Strategy
Describe your idea, let AI do the rest.
Export & Launch
Describe your idea, let AI do the rest.
Design Brand
Describe your idea, let AI do the rest.
Welcome
Pinnlo
Get Started
Dashboard
Work Streams
Templates
Published
Your Strategies
5 strategies
+ New
What will you build today?
Describe the app you want to create…
HealthEduProductivityFood
SkinSage
Created by You
BreatheSync
Created by You
SkinSage
Created by You
Dashboard
Strategy Chat
What problem are you solving?
SaaS for solopreneurs.
Who is it for specifically?
Committed founders, 15-30h/week.
Reply…
Business Phases
Vision
Done
Audience
Done
Revenue
40%
Launch
Quick Start →
Strategy
02 — How I worked

My process, step by step.

  1. 01
    Wrote my own brief

    Who Pinnlo was for, what 'shipped' meant, what I'd cut first if I ran out of time.

  2. 02
    Sketched flows on paper

    Before Figma, before code. Just arrows and verbs. Got to v1 in an afternoon.

  3. 03
    Built components before screens

    Buttons, cards, inputs, tokens — done first. Every screen then assembled in minutes, not hours.

  4. 04
    Prototyped in code, not Figma

    I skipped high-fidelity mocks and built working screens with Claude Code. Real data broke assumptions fast.

  5. 05
    Shipped 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.

  6. 06
    Cut more than I added

    Half the features I drew never made it. The ones that stayed got sharper every round.

03 — Design × engineering

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.

Frontend

Next.js 16

App Router · React 19 · Tailwind v4 · Framer Motion

Backend

FastAPI

Python 3.11 · 13 specialised agents · Supervisor

Database

Supabase

Postgres 15 · pgvector · RLS · auth · storage

Payments

Stripe

Subscriptions · monthly usage · billing portal

System Architecture
Client
Next.js
Agents
FastAPI · Python
Persistence
Supabase + pgvector
Basic Chat
GPT-4o-mini
OpenAI
Reasoning
Claude Haiku 4.5
Anthropic
Images
Gemini 3 Pro
Google
Audio · TTS
Gemini 2.5 Flash
Google
Video
ElevenLabs
ElevenLabs
Research
Exa API
Exa
Eval
Braintrust
Braintrust
04 — The website

“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.

Pinnlo website hero — Ideas Don't Need Permission
pinnlo.com · hero section
Pinnlo website features grid
pinnlo.com · features grid
05 — What I learned

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.

The design layer · case study 02

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.