What counts as an MVP

An MVP is a real, installable app that does one job well enough for early users to rely on it. It is not a clickable prototype and not a feature-complete product. Its purpose is to learn whether people want the product before you invest in everything else.

Where the time goes

Stages of an MVP project and what affects their length
StageWhat happensWhat makes it longer
Discovery and scopeDefine the user, the job, the screens and the release targetUndecided product questions
UX and screensFlows, wireframes, key screens, Flutter themeFully custom design on every screen
BuildFlutter app in short iterations with installable test buildsBackend, payments, integrations, multiple roles
TestingUnit tests on risky logic, device testingMany device-specific features
Store releaseListing, privacy policy, Data safety, reviewRejections; new developer accounts that need closed testing first

What fits in a weeks-long MVP

  • One user type and one core workflow
  • Standard navigation and components with a branded theme
  • Offline-first, or Firebase Auth and Firestore for accounts and sync
  • Crash reporting, analytics and remote configuration from day one
  • One store at launch

What pushes an MVP to months

  • Several user roles with different screens and permissions
  • Payments, subscriptions and the server-side validation they need
  • Custom backend infrastructure instead of managed services
  • Real-time features, messaging or complex integrations
  • Launching on both stores with full parity on day one

An example from our own products

CropFlow, our photo cropping app, is a single-screen tool: import, crop, straighten, preview and export. It needed no backend and shipped with our shared remote configuration and update prompts built in. It reached version 1.0.7 within weeks of its first Play release, because the scope was small enough to ship and then improve in small releases.

How to keep the MVP timeline short

  • Decide the product questions before the build starts
  • Keep a written 'not now' list so scope does not creep quietly
  • Prepare the store account, privacy policy and listing assets in parallel with the build
  • Use test builds to make decisions on a real app, not on documents