Skip to main content
Back to Blog
9 min read

What €12K actually buys: a line-by-line cost breakdown of a real MVP build

Not a hypothetical. A real project, real line items, real hours. Where the money goes when you hire a solo full-stack developer to build an MVP from scratch.

pricingcase-studyhiring

Founders ask me "how much does an MVP cost?" and I give them the honest answer: it depends. Then they ask for a range, I say €8K–€25K for a solo dev, and they nod politely and still have no idea what they're paying for.

This post is the version I wish existed when I was on the other side. A real project, anonymized but unchanged in scope and hours. Every line item, every hour block, every decision that moved the price up or down.

The total was €12,200. Here's where every euro went.

The project

A B2B SaaS for a logistics startup. Three user roles (admin, dispatcher, driver), one core workflow (job assignment and tracking), integrations with Google Maps and a payment provider. Web app only, no mobile.

Timeline: 8 weeks. Fixed scope, milestone billing.

The breakdown

PhaseHoursCost% of total
Discovery & spec12€9608%
Design system + UI kit16€1,28010%
Auth + user management14€1,1209%
Core workflow (CRUD + state machine)28€2,24018%
Maps integration10€8007%
Payment integration12€9608%
Dashboard + analytics14€1,1209%
Email notifications6€4804%
Deployment + CI/CD6€4804%
Testing + QA16€1,28010%
Launch prep + handoff8€6405%
Buffer (used for scope changes)10€8007%
Total152€12,160~100%

Effective rate: €80/hour. The contract was fixed-price milestones, not hourly — but the hours are how I scoped it internally.

Let me walk through what each line actually means.

Phase by phase

Discovery & spec (12h, €960)

Before writing code, I write a spec. Not a 40-page document — a 3–5 page brief that covers:

This phase usually saves 20–30 hours downstream. Every ambiguity caught here is a scope change avoided later. The spec becomes the contract's appendix — both sides agree on what "done" means before a line of code exists.

Design system + UI kit (16h, €1,280)

Not a full design handoff from Figma. A functional design system: color tokens, typography scale, spacing, component library in Tailwind. Enough that every screen looks consistent without a designer per-screen.

For this project: dark sidebar layout, data tables with sortable columns, form patterns, modal patterns, toast notifications. I build these as reusable React components first, then assemble screens from them.

Why 16 hours? Because cutting this short means every subsequent screen takes 30% longer. The design system is an investment that pays off by week 3.

Auth + user management (14h, €1,120)

Three roles, email/password auth, password reset, session management. I used NextAuth (now Auth.js) with a Postgres adapter.

14 hours sounds like a lot for "just login." Here's what's actually in there:

Auth is one of those things that's 4 hours if you skip edge cases and 14 hours if you handle them. Skipping edge cases means support tickets in week 2.

Core workflow (28h, €2,240)

The biggest line item. This is the thing the app actually does — job assignment and tracking.

A dispatcher creates a job (pickup, dropoff, time window, payload details). The system finds available drivers in the zone. Dispatcher assigns. Driver accepts or declines on their dashboard. Job moves through states: created → assigned → accepted → in-progress → completed.

28 hours because:

This is where most MVPs either over-build (adding features nobody asked for) or under-build (skipping the edge cases that will break in week 1). The spec from Phase 1 is what keeps this focused.

Maps integration (10h, €800)

Google Maps API for two things: showing driver locations on a map, and calculating estimated delivery times.

10 hours because the API is well-documented but the edge cases aren't:

Payment integration (12h, €960)

Stripe for invoicing dispatchers monthly based on job volume.

Not a simple checkout — this is usage-based billing:

Dashboard + analytics (14h, €1,120)

Admin dashboard showing: jobs per day/week/month, completion rate, average delivery time, revenue per driver, zone heatmap.

All charts are server-rendered (no client-side charting library). Data aggregation runs in Postgres with materialized views refreshed every 15 minutes. This keeps the dashboard fast without real-time complexity.

Email notifications (6h, €480)

Transactional emails via Resend: job assigned, job completed, payment received, password reset. Each email has a plain-text fallback and is tested across Gmail, Outlook, and Apple Mail.

6 hours because email HTML is stuck in 1999 and every client renders differently.

Deployment + CI/CD (6h, €480)

Vercel for the Next.js app. Supabase for Postgres. GitHub Actions for CI (lint, typecheck, test on every PR). Environment variable management for staging vs production.

6 hours because most of this is template work I've done before. The time goes to project-specific configuration, not infrastructure setup.

Testing + QA (16h, €1,280)

Integration tests for the core workflow (job creation → assignment → completion). E2E tests for auth flows. Manual QA on the three user roles across desktop and mobile.

16 hours = 10% of total. I won't ship below 10%. The tests catch regressions when I make changes in week 6 that break something from week 2.

Launch prep + handoff (8h, €640)

Buffer (10h, €800)

Every project has scope changes. The founder realizes mid-build that drivers need to upload proof-of-delivery photos. Or that the admin dashboard needs an export-to-CSV button.

I budget 7–10% buffer for these. This project used 10 hours of buffer for: proof-of-delivery photos (4h), CSV export (3h), and a "duplicate job" shortcut the dispatcher asked for (3h).

What moves the price

Three levers that shift a similar project from €8K to €25K:

Integrations. This project had 2 (Maps + Stripe). Each integration adds 8–15 hours. A project with 5 integrations (payment + maps + email + SMS + calendar sync) easily adds €3K–€5K.

User roles and permissions. This project had 3 roles with simple rules. A project with 6 roles, nested permissions, and audit logging adds 20–30 hours to auth alone.

Real-time requirements. This project used polling (simple, cheap). WebSockets for live driver tracking, live job board, and push notifications would add 30–40 hours. I built that for E7 — it's doable, but it's not MVP-cheap.

What I'd cut to hit €8K

If the founder had said "I have €8K, not €12K" — here's what I'd scope out:

  1. Dashboard analytics → replace with a simple Postgres query the founder runs manually. Saves 14h.
  2. Payment integration → invoice manually for the first 3 months, add Stripe when billing volume justifies it. Saves 12h.
  3. Buffer → keep it, but smaller. 5h instead of 10h.
  4. Email notifications → send from a personal email address via Resend, no branded templates. Saves 3h.

That's ~34 hours / €2,700 cut. The app still works, still solves the core problem, but the founder does more manually in the first months.

This is the real MVP tradeoff: not "what features do I skip?" but "what work am I willing to do manually until automation pays for itself?"

The takeaway for founders

When you get a quote for €12K or €15K or €20K, ask for the breakdown. Not "frontend, backend, testing" — that tells you nothing. Ask for the phase-by-phase hours. Ask what's in the buffer. Ask what gets cut if the budget is 20% lower.

A developer who can answer those questions has actually thought about your project. One who can't is estimating from vibes.


If you want this level of breakdown for your project — specific phases, specific hours, specific tradeoffs — book a scoping call. I'll tell you what it costs and what I'd cut to hit your budget.