How to Build an MVP: From Idea to Launch
A step-by-step guide to building a minimum viable product: defining the problem, choosing the core workflow, scoping, design, build, launch and learning.
An MVP is the smallest version of a product that lets real users get real value — and lets you learn whether they'll keep using it and pay for it. Building one well is less about coding speed and more about ruthless choices before any code is written.
Step 1: Define the problem, not the product
Write one sentence: *[Who] struggles with [what] because [why], and today they [workaround].* If you can't fill in the workaround, the problem may not be painful enough. Talk to at least a handful of people who have the problem before building.
Step 2: Choose the one core workflow
Pick the single job your product must do better than the workaround. Everything else is secondary. For an invoicing tool, that might be "create an invoice from a job and get paid online". Not reports, not multi-currency, not integrations — yet.
Step 3: Write the scope
A good MVP scope fits on two pages:
- User types (often just one)
- The core workflow, step by step
- Supporting features strictly required (sign-up, basic settings)
- What's explicitly out
- How you'll measure success
Step 4: Design the key screens
Design the core workflow end to end, including empty states and errors. Clickable prototypes are cheap to change; code is not. Show them to prospective users.
Step 5: Choose a stack that won't need a rewrite
"MVP" shouldn't mean throwaway. A mainstream stack — for example Next.js and TypeScript on the frontend, Postgres for data, managed auth and Stripe for payments — is fast to build with and scales well beyond the MVP. No-code tools can work for validation, but plan for their limits.
Step 6: Build in milestones
Review each milestone on a staging environment. Cut rather than extend when time runs short.
Step 7: Instrument before launch
Decide which events tell you whether it's working: sign-up, completed core workflow, return visit, upgrade. Add them before launch, not after.
Step 8: Launch to a small group
Launch to people you've spoken with. Watch sessions, talk to users, fix what blocks the core workflow. Resist feature requests until you see a pattern.
Step 9: Decide what's next
After a few weeks you'll know which of three situations you're in: people use it and want more (build), people try it but don't return (rethink the core workflow), or nobody tries it (rethink the problem or audience).
Common mistakes
- Building for every user type at once
- Treating "MVP" as permission for poor quality
- Skipping analytics
- Spending the whole budget before launch — keep some for iteration
For budgets see SaaS development cost; for deciding scope, MVP vs full product; for timing, how long a SaaS takes to build.