
These 20 vibe coding prompts cover the full SaaS MVP build — from the initial PRD as Prompt 1 through scaffolding, data model, auth, core features, payments, real-time, and polish. Run them in order on Greta, Lovable, Bolt, v0, or Emergent and you can ship a working SaaS in a single focused day.
Get Started Today


Most vibe coders waste hours not because the AI is bad but because their prompts are wrong. Mega-prompts that try to describe an entire app in one shot produce broken scaffolds; prompts without dependency order produce features that fight each other. The fix is a deliberate sequence — one prompt per concern, run in the right order.
"# [Product Name] — Product Spec. Target user: [specific user, narrow not broad]. Problem: [specific pain]. Core feature: [one-line description of the single most important action]. Data model: [list of entities with fields and types]. Screens and flows: [list screens and the path through them]. Design vibe: [reference brand + color palette + typography]. Integrations: [auth, payments, AI, real-time]. Success criteria: [2–3 bullets defining v1 done]."
"Build the scaffold only — no features yet. Four screens with placeholder content: Landing, Dashboard, [Core Feature Page], Settings. Use [navigation pattern — sidebar/topbar/bottom tabs] on desktop, mobile-responsive collapse on small screens. Apply the design system from the PRD throughout."
"Lock the design system as global tokens. Colors: primary [hex], background [hex], surface [hex], text primary [hex], text secondary [hex], accent [hex]. Typography: [primary font] for body at 16px, [heading font] for headings with scale 20/28/40px. Spacing scale: 4, 8, 16, 24, 32, 48, 64px. Border radius: 6px on small elements, 12px on cards. No drop shadows."
"Create the database schema only — no UI changes yet. Tables: User (id uuid, email text unique, name text, created_at timestamp, subscription_tier text default 'free'). [Entity] (id uuid, user_id uuid foreign key, [field1] type, [field2] type, created_at timestamp). Add relationships."
"Add row-level security to every table that has a user_id field. Each user should only be able to read and write their own records. Use Supabase RLS policies. Confirm that every database query in the app respects these policies — flag any queries that don't."
"Seed the database with realistic example data — 5–8 [Entity] records associated with a test user account. Use realistic field values, not lorem ipsum, so the UI looks real during development and demos."
"Add email magic link authentication. New sign-ups create a User record with email, default subscription_tier of 'free', and default settings. Magic links should expire after 60 minutes. Sessions persist for 30 days. Sign-out clears the session and redirects to the landing page."
"Protect /dashboard, /settings, and all routes under them. Unauthenticated users hitting protected routes should redirect to /sign-in with a 'return URL' so they go back where they tried to go after signing in."
"Add a 3-step onboarding flow for first-time users immediately after sign-up. Step 1: welcome message explaining the core value. Step 2: collect [one piece of context relevant to your product]. Step 3: walk through creating their first [Entity]. After completion, mark the User as onboarded and route to the dashboard."
"Build the [Core Feature] input form. Fields: [list each field with type and any validation]. Validate required fields client-side; show inline errors. On submit, save to the [Entity] table and append the new record to the dashboard's visible list. Show a success toast after save."
"Build the [Entity] list view on the dashboard, sorted by [field] descending. Each row shows [list of fields]. Click a row to open a detail view with full record contents. Add inline edit on the detail view; changes save on blur with optimistic UI."
"Add search and filtering to the [Entity] list. Global text search across [list searchable fields]. Filter dropdowns for [list filterable fields]. Sort options for [list sortable fields]. Maintain filter state in URL params so users can share filtered views."
"Add the [AI Feature] that takes [input from user] and returns [output]. Use the [Claude / GPT-4 / model] API via [provider]. Cache responses by input hash to reduce API costs. Track API cost per user per month in a Usage table. Free users can use the AI feature 5 times per month; Pro users have a soft limit of 100 with a hard cap of 500 to prevent runaway costs."
"Integrate Stripe Subscriptions for the Pro tier at $[price]/month. When a Free user clicks Upgrade, create a Stripe Checkout session with subscription mode. On successful payment, update the User's subscription_tier to 'pro' and store the Stripe customer ID and subscription ID. Listen for Stripe webhooks: subscription.updated, subscription.deleted, invoice.payment_failed."
"Add feature gating based on subscription_tier. Free users can perform [action] up to [N] times per month; Pro users have unlimited [action]. Track usage in a Usage table with fields: user_id, action, month, count. When a Free user hits the limit, show an upgrade modal with the Stripe Checkout flow."
"Add a Stripe customer portal link in user settings so users can manage their subscription — update payment methods, view invoices, and cancel. Use Stripe's hosted billing portal; don't build your own."
"Add friendly empty states for every list view. Each empty state should have a simple illustration or icon, a one-line explanation of what will appear here, and a CTA to create the first record. Replace any loading spinners with skeleton loaders that match the shape of the content being loaded."
"Make the entire app fully responsive for mobile. Tap targets must be at least 44px. Modals become bottom sheets on mobile. Tables collapse to card views. Test specifically on a 375px viewport. Fix any horizontal scroll, content overflow, or unreachable tap targets."
"Add toast notifications for all API errors with friendly messages — never expose raw error text to users. Handle the three highest-stakes edge cases: network errors during save, expired sessions, and rate-limit hits on AI features. Each should show a clear message and a recovery path."
"Run a pre-launch audit. Check (1) every database query is scoped to the current authenticated user via RLS or explicit checks, (2) all user input is validated before being saved or used in queries, (3) no sensitive data (password hashes, internal IDs, Stripe customer IDs, API keys) is exposed to the client, (4) every expensive operation (AI calls, email sends, third-party API calls) has rate limiting per user, (5) Stripe is in live mode and a real $1 charge succeeds end-to-end. Flag anything that fails any check."
Yes, for a focused MVP — single user role, one core feature, freemium pricing. The 20 prompts in order typically ship a working v1 in 6–10 hours of focused work. Complex MVPs take 1–3 days.
All major builders work — Greta, Lovable, Bolt, v0, Emergent, Cursor. The sequence is platform-agnostic.
No — the prompts are designed for non-developers. You need to read what the AI generates, swap variables in templates, and describe problems clearly when something breaks.
Don't move to the next prompt until the current one is right. Refine with follow-ups. Most prompts take 1–3 follow-ups; that's normal.
Yes — building a personal prompt library is one of the highest-leverage things vibe coders do. Most experienced builders accumulate 50–100 reusable prompt templates across projects.
Most features fit one of the patterns above. Ask: what build phase does it belong to? Build it into the appropriate phase.
Prompt 1 — the PRD. It sets context for every subsequent prompt. Builders who skip it routinely spend 2–3x longer iterating.
Get Started Today


See it in action

