Claude Code"build the smallest thing that proves people will pay for this." The result? A working SaaS prototype with Stripe billing, user auth, and a dashboard — deployed to Vercel before the weekend ended.
The old MVP playbook hasn't changed: identify a real problem, define one core value prop, strip everything else. What has changed is how fast you can validate. AI coding tools compress the build-measure-learn loop from weeks to days.
My current validation stack
— primary IDE, Cmd+K for inline edits, Composer for multi-file featuresCursor— terminal agent for scaffolding, migrations, test generationClaudeCodev0.dev— instant UI components when I don't want to write Tailwind** Supabase**— auth + database + edge functions in one PostgreSQL backend** Vercel**— zero-config deploy, preview URLs for every push
The 3-day sprint breakdown
Day 1: Problem validation before code. I wrote a one-pager, posted in two relevant Discords, got 12 people saying "shut up and take my money." Only then did I open Cursor.
Day 2: Scaffold → authenticate → charge. Single prompt to Claude Code:
Create a Next.js 14 app with Supabase auth (email/password + OAuth),
a /dashboard route protected by middleware, and a Stripe Checkout
integration that creates a subscription on success. Use TypeScript,
Tailwind, and App Router. Output the full file tree.
Got a working repo in 45 minutes. Spent the rest of the day styling the pricing page and writing the webhook handler.
Day 3: Polish the happy path. Added states, error toasts, email confirmation flow. Deployed. Sent the preview link to the 12 people from Day 1. Three converted to paid before Monday.
What I skip now (and you should too)
- Custom UI component libraries — v0 + shadcn/ui covers 90%
- Manual API route boilerplate — Supabase edge functions + generated types
- Test suites for throwaway code — E2E tests only for the payment flow
- Admin panels — SQL queries in Supabase dashboard until revenue justifies it
The trap to avoid
AI makes overbuilding easier, not harder. You can generate a full admin dashboard, analytics pipeline, and notification system in an afternoon. Don't. Every feature you add before charging a single user is a hypothesis you haven't tested.
My rule now: one paid user > 100 GitHub stars. The code quality of my Day 2 scaffold was embarrassing — hardcoded secrets, no tests, console.logs everywhere. But it worked, and that's the only metric that mattered.
Next sprint: replace the Stripe webhook with a proper event-driven architecture using Upstash QStash. But only because MRR demands it.
What's the longest you've spent on an MVP before getting a single dollar?
Next The dead giveaways that a site was vibe coded →