IAMUVIN

Startup & Product Building

How to Build an MVP That Actually Works: A Developer's Guide

Uvin Vindula·August 5, 2024·11 min read
Share

TL;DR

If you want to build an MVP that actually gets users and validates your business idea, you need to do less — not more. Most founders I work with come to me with a 47-feature spec when they need 3. I have built MVPs for my own businesses (uvin.lk, GemStore.lk, EuroParts Lanka) and for startup clients across Sri Lanka, the UK, and Southeast Asia. The pattern that works: validate the idea before writing code, build only the core loop in week one, ship it to real users, and iterate based on what they actually do — not what they say they want. A solid MVP costs between $8,000 and $15,000 depending on complexity. Anything less usually means cutting corners on architecture that will cost you 3x to fix later. Anything more means you are overbuilding. This guide walks through the exact framework I use — from validation to tech stack to launch — with real numbers and real examples.


What an MVP Actually Is — Not a Prototype

Let me clear this up because I have this conversation with every new client: an MVP is not a prototype. A prototype proves that something can be built. An MVP proves that someone will pay for it.

A prototype is a demo you show investors. An MVP is a product you give to customers. The distinction matters because it changes every decision you make — what you build, how you build it, and what you skip entirely.

Here is the definition I work with: an MVP is the smallest version of your product that lets a real user complete the core action and gives you data on whether the business works.

For GemStore.lk, an e-commerce platform I built for the Sri Lankan gem trade, the MVP was not a fully-featured marketplace. It was a product listing page, a WhatsApp-based inquiry system, and a basic admin panel. That was it. No payment gateway. No user accounts. No reviews. No wishlist. The core question was: will gem dealers list their stones online, and will buyers contact them? Everything else was noise until we answered that.

For EuroParts Lanka, which connects European auto part suppliers with Sri Lankan importers, the MVP was even simpler: a searchable catalog with a quote request form. The entire backend was a Supabase database with 3 tables.

Most founders confuse "minimum" with "bad." A minimum viable product is not a broken product. It is a focused product. The code should be clean, the UX should be intuitive, and the core feature should work flawlessly. You are cutting scope, not quality.

The questions I ask every client before we start:

  1. What is the one action a user must complete? Not five actions. One.
  2. How will you know if this works? Define the metric before writing a line of code.
  3. What happens if this MVP fails? If the answer is "we pivot," then we are building the right scope.

If you cannot answer those three questions clearly, you are not ready to build. You are ready to talk it through.

The 1-Week MVP Framework

I use a five-day framework for MVP development. Not every MVP ships in exactly five days — complex projects take two to three weeks — but this structure keeps things honest and prevents scope creep.

Day 1: Architecture and Setup

Set up the project skeleton. For most MVPs, I reach for Next.js with TypeScript, Tailwind CSS, Supabase for the backend, and Vercel for deployment. This stack lets me move fast without accumulating technical debt. Database schema gets designed. Authentication gets wired up if needed. CI/CD pipeline goes live on day one — yes, day one. Every push to main should auto-deploy to a preview URL.

Deliverable: A deployed skeleton at a real URL. The client can see something live before lunch on Monday.

Day 2: Core Feature — Backend

Build the data layer and API for the core feature only. If it is a marketplace, that means product creation and retrieval. If it is a SaaS tool, that means the primary workflow. Server Actions or API routes, database queries, input validation with Zod.

I do not build admin panels on day two. I do not build settings pages. I build the one thing that makes this product exist.

Day 3: Core Feature — Frontend

Wire the UI to the backend. This is where the product starts feeling real. I build responsive from the start — mobile-first, always. The design does not need to be pixel-perfect, but it needs to feel intentional. Good typography, proper spacing, clear hierarchy.

Deliverable: A working core flow. A user can complete the primary action end-to-end.

Day 4: Edge Cases and Polish

Error handling, loading states, empty states, form validation feedback. This is the day that separates a prototype from an MVP. Users forgive missing features. They do not forgive a broken experience on the features that exist.

I also add basic analytics on day four. You cannot iterate on what you cannot measure. Vercel Analytics or a simple PostHog setup gives you enough signal to make decisions.

Day 5: Launch Prep and Deployment

Final testing on real devices. SEO basics (meta tags, OpenGraph). A production deploy with a real domain. Basic monitoring. I write a deployment runbook so the client can push updates without me.

This framework is aggressive but realistic. I have shipped MVPs for clients in five working days using this exact structure. The key is ruthless scope control — every feature request that comes in during the week gets written down and moved to "v1.1."

Choosing Your Tech Stack for Speed

Your tech stack choice can add two weeks or save two weeks. For MVPs, I have strong opinions here because I have built enough of them to know what slows you down.

My default MVP stack:

LayerChoiceWhy
FrameworkNext.js 16 + TypeScriptServer components, API routes, deployment all in one. No separate backend needed for most MVPs.
StylingTailwind CSS v4Fastest way to build responsive UIs. No CSS file management overhead.
DatabaseSupabase (PostgreSQL)Auth, database, storage, realtime — all included. Free tier is generous enough for MVP validation.
ORMPrismaType-safe queries. Schema-as-code. Migrations that actually work.
UI Componentsshadcn/uiCopy-paste components you own. No dependency lock-in. Accessible by default.
DeploymentVercelZero-config deploys. Preview URLs for every PR. Free tier handles MVP traffic.
PaymentsStripeWhen needed. Do not add payments until you have validated demand.

What I never use for MVPs:

  • Microservices. You do not need Kubernetes. You need a monolith that ships.
  • GraphQL. REST is simpler to build, debug, and maintain at MVP scale. GraphQL earns its complexity at scale, not at launch.
  • Custom auth. Use Supabase Auth or NextAuth. Rolling your own auth system for an MVP is malpractice.
  • Separate frontend and backend repos. One repo. One deployment. One source of truth. Split later when you have a reason.

The stack decision I spend the most time on is the database schema. Everything else can be refactored relatively cheaply. A bad data model haunts you for months. I spend a disproportionate amount of day one getting the schema right — the entities, the relationships, the indexes.

If your MVP needs real-time features (chat, live updates, collaborative editing), Supabase Realtime handles it without a separate WebSocket server. If you need background jobs, start with Vercel Cron and upgrade to a proper queue when you outgrow it.

What to Build First — The Core Loop

Every successful product has a core loop: the sequence of actions a user takes repeatedly that delivers value. Your MVP should implement this loop and nothing else.

Here is how I identify the core loop:

Step 1: Write the user story in one sentence. "As a [user type], I want to [action] so that I [outcome]."

For GemStore.lk: "As a gem buyer, I want to browse certified stones so that I can contact a dealer directly."

For EuroParts Lanka: "As a mechanic, I want to search for a specific part number so that I can get a price quote."

Step 2: Map the minimum screens. Most core loops need 3-5 screens maximum. If you are past 7 screens for an MVP, you are overbuilding.

A typical MVP screen map:

  1. Landing/home (what is this product?)
  2. Core browse/search (find the thing)
  3. Core detail (see the thing)
  4. Core action (do the thing — buy, request, book, submit)
  5. Confirmation (it worked)

Step 3: Cut everything that is not in the loop. User profiles? Later. Settings? Later. Dashboard? Later. Notifications? Absolutely later.

I once had a client who wanted an AI-powered recommendation engine in their MVP marketplace. We cut it. Shipped with a basic category filter instead. Three months later, their usage data showed that 80% of users searched by keyword, not category. The recommendation engine they wanted would have been built on wrong assumptions. The MVP saved them $20,000 in wasted development.

The core loop is your experiment. Every feature outside the core loop is a distraction from learning whether your business works.

What to Skip — Features That Can Wait

This is where I save my clients the most money. Here is my "not in the MVP" list — features that feel essential but are almost always premature:

Skip these in v1:

  • User onboarding flows. A simple sign-up form is enough. Guided tours come after you know what users struggle with.
  • Email notifications. Use Supabase webhooks or a simple cron job to send critical emails. Do not build a notification preferences system.
  • Admin dashboards. Query the database directly. Use Supabase's built-in dashboard. Build an admin panel when you have an operations team that needs one.
  • Social features. Comments, likes, shares, follows — all of this is a retention play. You are still proving acquisition and activation.
  • Advanced search and filtering. A basic text search covers 80% of use cases. Faceted search with multiple filters is a v2 feature.
  • Multi-language support. Launch in one language. Add i18n when you have users in a second market.
  • Payment processing. Unless payments ARE your core loop, validate demand before integrating Stripe. Use manual invoicing or a simple payment link.
  • Mobile apps. A responsive web app serves MVP validation. Native apps are a $30,000+ investment that should come after product-market fit.

Build these from day one:

  • Error handling. Every user-facing error should be clear and actionable.
  • Loading states. Skeleton screens, not spinners. Users should never see a blank page.
  • Responsive design. Over 60% of web traffic is mobile. If your MVP does not work on a phone, it does not work.
  • Analytics. You need to know who is using your product and how. Even basic page view tracking is non-negotiable.
  • SEO fundamentals. Meta tags, semantic HTML, proper heading hierarchy. This costs zero extra time if you do it from the start.

The mental model I use: if cutting this feature would not prevent the core loop from completing, cut it.

Validation Before Code

The most expensive MVP is the one you did not need to build. Before I write any code for a client project, we run through a validation checklist that takes 3-5 days and costs nothing but time.

The Pre-MVP Validation Framework:

1. Problem Interviews (2-3 days)

Talk to 10 potential users. Not friends. Not family. People who would actually pay for this. Ask them:

  • How do you currently solve this problem?
  • What is the most frustrating part of your current solution?
  • How much time/money do you spend on this per month?

If 7 out of 10 people do not have the problem you think they have, you just saved yourself $8,000-$15,000.

2. Competitor Audit (1 day)

Search for every existing solution. If nobody has built this, ask why — the answer is usually "there is no market," not "nobody thought of it." If competitors exist, that is actually good. It means the market is real. Your job is to find the gap they are missing.

3. The Landing Page Test (1-2 days)

Build a single landing page describing your product. Drive traffic to it (even $100 on targeted ads). Measure the conversion rate on a waitlist sign-up or a "notify me" button.

If you cannot get 5% of visitors to give you their email for a product that does not exist yet, you will not get them to pay for it when it does.

I built a landing page for a client's fintech idea last year. We spent $150 on LinkedIn ads targeting their exact audience — CFOs at mid-size Sri Lankan companies. The page got 2,000 views and 3 sign-ups. That is a 0.15% conversion rate. The product was not viable as positioned. We pivoted the positioning, ran the test again, and got 8% conversion. Then we built the MVP.

4. The Concierge MVP (optional, 1 week)

Before building any technology, deliver the service manually. If you want to build an AI-powered document processing tool, process 20 documents by hand for 5 clients. You will learn more about what they actually need in one week of manual work than in three months of building.

This validation process is not optional in my workflow. When clients skip it, the failure rate goes up dramatically. When they do it, we build the right thing the first time.

Real MVP Examples from My Work

Let me walk through three real MVPs I have built, what they included, what we cut, and what happened after launch.

GemStore.lk — Gem Marketplace

  • Timeline: 8 days
  • Stack: Next.js, Supabase, Tailwind CSS, Vercel
  • Core loop: Browse gems, view details, contact dealer via WhatsApp
  • What we built: Product listing with filters (type, origin, weight range), detail page with certification photos, WhatsApp deep link for inquiries, basic SEO for gem-related keywords, admin panel for dealers to add/edit listings
  • What we cut: User accounts, payment processing, reviews, wishlist, price comparison, auction system, dealer verification badges
  • Result: 40+ dealer listings in the first month. The WhatsApp inquiry rate told us the marketplace model worked. We added payments in v2, three months later.

EuroParts Lanka — Auto Parts Catalog

  • Timeline: 5 days
  • Stack: Next.js, Supabase, Tailwind CSS, Vercel
  • Core loop: Search part number, view compatibility info, request quote
  • What we built: Part number search with fuzzy matching, vehicle compatibility database, quote request form with Supabase as the backend, email notifications on new quote requests
  • What we cut: Inventory management, order tracking, payment processing, dealer portal, shipping integration, price history
  • Result: Validated that Sri Lankan mechanics would use an online catalog. Quote request volume gave us the signal to build a full ordering system.

Client Project — SaaS Scheduling Tool (NDA)

  • Timeline: 12 days
  • Stack: Next.js, Prisma, Supabase, Stripe, Vercel
  • Core loop: Create availability, share booking link, receive bookings
  • What we built: Calendar availability selector, public booking page, Stripe payment integration (payments were the core loop here), email confirmations, timezone handling
  • What we cut: Team scheduling, recurring appointments, calendar sync (Google/Outlook), custom branding, analytics dashboard, waitlist management
  • Result: 15 paying users in the first week from a single Product Hunt launch. Revenue validated the concept before we built any of the "nice to have" features.

The pattern across all three: ship the core loop, measure the response, then decide what to build next based on data — not assumptions.

The MVP Budget — What $8K-$15K Gets You

I price full-stack MVP development starting at $8,000. Here is exactly what that budget covers and why it costs what it costs.

$8,000 — Standard MVP (5-7 days)

  • Next.js application with TypeScript
  • 3-5 core screens, responsive design
  • Supabase backend (auth, database, storage)
  • Basic admin functionality
  • Deployment on Vercel with custom domain
  • SEO fundamentals
  • Analytics setup
  • One round of revisions
  • Deployment documentation

This covers products like landing pages with complex interactive features, simple marketplaces, booking tools, internal business tools, and content platforms.

$12,000-$15,000 — Complex MVP (2-3 weeks)

Everything in the standard tier, plus:

  • Payment processing (Stripe integration)
  • Third-party API integrations
  • Real-time features (chat, live updates)
  • More complex data models (10+ tables)
  • Background job processing
  • Advanced search functionality
  • Two rounds of revisions
  • 30 days of post-launch support

This covers SaaS products, multi-sided marketplaces, fintech tools, and products with payment flows.

What is NOT included (and why):

  • Mobile apps. A React Native MVP starts at $15,000 on top of the web MVP. I always recommend validating on web first.
  • AI/ML features. Integrating GPT or custom models adds $3,000-$8,000 depending on complexity.
  • Web3 integration. Smart contracts, wallet connections, and on-chain features start at $5,000 additional. I build these — it is core to my work — but they should not be in your first MVP unless blockchain IS the product.

Why not cheaper?

I have seen $2,000 MVPs. They use page builders, no-code tools, or offshore developers writing spaghetti code. They work for a demo. They do not work for a product that needs to scale. When those founders come to me six months later, they need a complete rebuild. The $2,000 MVP cost them $2,000 plus $10,000 for the rebuild — $12,000 total, plus six months of lost time.

When I build an MVP at $8,000, the architecture is production-grade. TypeScript with proper types. Database schema designed for growth. Clean API boundaries. When you are ready to add features for v2, we extend what exists. We do not start over.

Why not more expensive?

Because it is an MVP. The goal is to validate, not to build a finished product. If someone quotes you $50,000 for an MVP, they are either building too much or charging too much. An MVP should be an investment you can afford to lose. If the validation fails, you pivot — you do not go bankrupt.

If you want a detailed quote for your project, get in touch. I will tell you honestly whether you need an MVP or whether a landing page test would give you the same answer for 10% of the cost.

Key Takeaways

  1. An MVP is not a prototype. It is the smallest product that proves your business model works with real users.
  1. Validate before you build. Problem interviews, competitor audits, and landing page tests cost almost nothing and can save you $10,000+ in wasted development.
  1. Build only the core loop. Identify the one action users must complete, build the minimum screens to support it, and cut everything else.
  1. Choose a stack optimized for speed, not scale. Next.js + Supabase + Vercel lets you ship a production-quality MVP in one to two weeks. Optimize for iteration speed, not for handling millions of users you do not have yet.
  1. Ship in days, not months. The 1-week MVP framework works: architecture on Monday, backend Tuesday, frontend Wednesday, polish Thursday, launch Friday.
  1. Budget $8,000-$15,000 for a production-grade MVP. Less than that and you are cutting corners on architecture. More than that and you are overbuilding.
  1. Never optimize before you validate. Performance tuning, advanced features, and scale engineering come after you have proven the business works.
  1. Measure everything from day one. Analytics are not optional. You cannot iterate on what you cannot measure.

The founders who succeed are not the ones with the best ideas. They are the ones who test their ideas fastest. An MVP is not the first step in building a company — it is an experiment designed to tell you whether you should.


*I am Uvin Vindula, a full-stack and Web3 engineer building products from Sri Lanka and the UK. I help founders turn ideas into production-ready MVPs — fast, clean, and built to grow. Check out my past work or explore my development services. Ready to build? Let's talk.*

Working on a Web3 or AI project?

Share
Uvin Vindula

Uvin Vindula

Web3 and AI engineer based in Sri Lanka and the UK. Author of The Rise of Bitcoin. Director of Blockchain and Software Solutions at Terra Labz. Founder of uvin.lk — Sri Lanka's Bitcoin education platform with 10,000+ learners.