How to vibe code a SaaS

Yes, you can vibe code a SaaS — auth, database, billing, the whole shape. But the honest playbook starts with Riley Brown's warning: almost everyone who starts with 'a SaaS to make money' makes zero dollars, because they build infrastructure for customers who don't exist. The winning order is inverted: build the tool for yourself, share it with two people, and add billing only when someone asks to pay.

The good news: that order is also the easiest technically. Each stage is a clean vibe coding project, and nothing is wasted — the personal tool IS the SaaS, minus the parts you don't need yet.

Tool: Claude Code for the long haul (repo discipline, tests, migrations matter here); the Agentic AI course covers the production layer when you get there. Time: a weekend for v1; billing when earned. The free deep-dive: Vibe Coding using Claude Code.

The steps
  1. 1

    Build it single-player first

    No auth, no billing, no landing page. Just the tool doing the valuable thing, with your own data, deployed where you can use it daily. If YOU don't open it twice a week, no pricing page will save it.

  2. 2

    Add auth when a second person wants in

    Magic-link email auth (or Google OAuth via Supabase/Clerk) and per-user data scoping. This is one prompt plus a migration — and importantly, it's when row-level security enters: ask the agent to write and TEST the policies that keep users' data separate.

  3. 3

    Watch two users use it

    Add simple product analytics (PostHog) and an in-app feedback box. What confuses your two users is your real roadmap — not the feature list you imagined on day one.

  4. 4

    Add Stripe when someone asks the price

    Stripe Checkout + a webhook that flips a plan flag, plus the customer portal for cancel/upgrade. Gate the one feature power users need, not everything. This whole step is a well-trodden one-sitting build for agents.

  5. 5

    Harden before you promote

    Before any launch post: rate limiting, error tracking (Sentry), backups, and a run of /security-review on the auth and billing paths. Boring, cheap, and the difference between a launch and an incident.

Starter prompt — paste into your agent
Build the single-player core of this product idea: [idea]. Next.js App Router + a hosted Postgres, deployable to Vercel. No auth and no billing yet — one user (me), full CRUD for the core objects, a clean minimal UI, and seed data so it demos well. Structure the schema so adding a user_id column later is trivial (comment where). When it runs, give me a 5-line summary of what exists and wait for my direction on the next feature.
Frequently asked questions

Can vibe-coded SaaS handle real customers safely?

Yes, with discipline: use managed auth and payments (Supabase/Clerk, Stripe) instead of rolling your own, have the agent write tests for data-isolation policies, and review the security-sensitive diffs. The failure stories are almost always skipped review on auth/billing code, not agent incapability.

How much does running a vibe-coded SaaS cost?

Near zero until you have users: free tiers of Vercel + a hosted Postgres + Stripe (per-transaction only) carry a small SaaS comfortably. Your first real cost is usually the email provider and your time.

Keep going

Choosing your agent? Claude Code vs Codex. Related verdicts: Teachable, Patreon, Tally. All guides: a browser game · a mobile app · a Chrome extension · a Discord bot · a dashboard · a portfolio site