The obsession with the "perfect MVP" is the #1 reason Costa Rican startups don't ship. They spend 6 months polishing features nobody asked for, while a competitor launches something uglier but already getting paid. This is the schedule we use to take an idea to production in 6 weeks, with the hard rule that keeps the project focused.
💡 Does your idea fit in 6 weeks? The interactive quote builder gives you a USD range + estimated duration in 30 seconds.
💰 What budget does an MVP need? See the complete Costa Rica pricing guide — USD 3,000–5,000 ranges for MVPs, broken down per feature and per vertical.
The hard rule of the 6-week MVP
A 6-week MVP is ugly, breaks on edge cases, and has one great feature — but it's alive and getting paid.
If your MVP at week 6 can't charge a real customer, you didn't finish an MVP — you finished a demo. And demos are not business.
Week-by-week schedule
Weeks 1–2: Discovery + Architecture
No production code yet. Decide what to build and how.
What happens:
- Interviews with 8–12 prospects. Client team + us. Question: "what problem costs you most to solve in X?" — don't show your idea.
- Main feature design. Low-fidelity wireframes. Critical flow only.
- Stack decisions. Next.js or Astro, Stripe or LemonSqueezy, Supabase or RDS. (See our note on picking the stack.)
- Minimum technical setup. Repo, Vercel preview, domain, Stripe sandbox, analytics.
What does NOT happen: production backend, nice-to-have integrations, polished design.
Week 2 output: a 2-page doc with the main feature defined + a Figma with the critical flow + the repo set up.
Weeks 3–5: Build in weekly sprints
3 one-week sprints. Each sprint ends with a client demo and, where applicable, 1–2 beta users.
Sprint 3 — Skeleton:
- Auth working (Magic link or Google OAuth — no email + password yet).
- Main feature in its crudest version. Unstyled. Functional.
- Stripe in sandbox connected but not in the flow yet.
Sprint 4 — Connect the flow:
- Main feature polished in its 2–3 main states (loading, success, error).
- Real Stripe checkout (sandbox payments but full flow).
- Transactional email via Resend (welcome, payment confirmation).
Sprint 5 — What's missing to sell:
- Simple landing (1 page) with value prop + button to Stripe.
- Basic onboarding so a new user can reach the feature in 60 seconds.
- Account page + cancel subscription (Stripe Customer Portal).
What does NOT happen in these 3 weeks:
- Heavy automated tests (a minimal E2E set is enough).
- Internationalisation (unless critical day-one).
- Polished admin panel (admins use the database or Retool).
- "Wow" design — clean design is enough.
Week 6: Hardening + Deploy + First users
The week where the MVP goes from project to live product.
Monday–Tuesday: critical bugs and edge cases that surfaced in demos. Brutal triage: only what blocks use, not the pretty stuff.
Wednesday: deploy to production. Stripe live mode. Final domain. SSL, analytics (PostHog), Sentry or equivalent for errors.
Thursday–Friday: first 5–10 real users (the ones you pre-sold in the early weeks). Direct WhatsApp or Slack support. Every reported bug fixed in under 24 hours.
Week 6 output: product in production, charging real cards, with 5+ active users. A 2-minute Loom of the recorded demo to send to investors or more prospects.
Why pre-selling beats a perfect MVP
Most founders want "build first, sell later". It's exactly the reverse. The correct plan:
- Week 0 (before the 6 weeks): pre-sell. Talk to 10 prospects. Sell the problem, not the product. Ask for commitment (deposit, letter of intent, waitlist with card).
- If nobody pre-pays: the problem isn't big enough. Don't build the MVP. Iterate the offer.
- If 3+ pre-pay: you have signal. Start the 6-week schedule.
This changes everything:
- MVP budget is partly covered before starting.
- You have 3 guaranteed users on launch day.
- Week 6 feedback comes from people with skin in the game.
- The team builds with confidence knowing the market validated.
Pragmatic stack for an MVP
| Need | Recommended | Why |
|---|---|---|
| Web framework | Next.js 16 | Most documented, invisible deploy |
| Hosting + DB | Vercel + Supabase | Zero ops, scales to 50k users |
| Auth | Supabase Auth | Magic link + OAuth, ready in 1 hour |
| Payments | Stripe | Checkout + Customer Portal ready |
| Transactional email | Resend | Clean API, fast domain verification |
| Analytics | PostHog | Funnel + cohorts + replay included |
| Support | WhatsApp Business | Zero friction for LatAm users |
Total production stack cost for 100 users: USD 0–20/month. Yes, zero. Free tiers of Vercel, Supabase, Resend and PostHog cover the first month easily.
Mistakes that kill the 6-week schedule
- "While we're at it, let's add X feature". No. Feature X goes to v2. Any deviation breaks the rhythm.
- Designing before validating. If you didn't pre-sell, what you're designing is probably the wrong solution.
- Ambitious stack. Microservices, Kubernetes, async messaging — not for an MVP. PostgreSQL + Next.js + 1 external service is enough.
- Not deploying in week 1. The deploy must be working by day 5. If you wait until week 6, you'll discover 20 problems on the last day.
- 5+ person team. Max 2–3 people for an MVP. More team = more coordination = less speed.
In summary
| Week | Goal | Output |
|---|---|---|
| 1–2 | Discovery + architecture | Doc + Figma + repo |
| 3 | Skeleton | Auth + raw feature + Stripe sandbox |
| 4 | Connect the flow | Real Stripe + emails |
| 5 | What's missing to sell | Landing + onboarding + account |
| 6 | Hardening + Deploy + first users | Live product charging |
If you have an idea and want to know if it fits in 6 weeks, let's talk. We don't charge for that conversation. In 30 minutes we tell you whether it's worth starting or whether you still need pre-sales.
