Yashveer Singh
Connect
<- All posts
MVP Development and Startup Builds12 min read

Designing an MVP That Can Scale Without Rewriting It

An MVP designed to scale is one where the early decisions do not block the later scaling work. Multi tenancy as a first class concept. A clean data model. Idempotent jobs. Bounded contexts. A real database. These are not big upfront investments. They are choices that cost little at week one and save a quarter of rewrite at year two. Most MVPs do not need to be rewritten. Most MVPs were designed in ways that make rewrite inevitable.

Written by Yashveer Singh, founder of Yashveer Labs.

What you actually need to know

  • Multi tenancy from day one. tenant_id on every customer scoped table.
  • Real database. Postgres for most cases.
  • Modular monolith. One deploy. Clean internal boundaries.
  • Job queue from day one. Postgres backed is fine.
  • Managed authentication provider.
DecisionRight pattern at MVPWrong pattern
Tenancytenant_id everywhereNo tenant column
DatabasePostgresFirebase or DynamoDB without justification
ArchitectureModular monolithMicroservices
AuthManaged providerHand rolled
Background workJob queueCron loop over a table
ConfigurationExternalizedHardcoded
LoggingStructuredprint statements
SecretsVault or env varsIn code

The core argument

Most MVPs end up being rewritten at year two. The reason is consistent. The early architecture decisions were made for speed and ended up blocking the scaling work. The team has to either patch the broken architecture or rewrite. The rewrite often takes a quarter to a half year. The patching often takes longer.

The MVPs that scale through year two without a rewrite share a small set of disciplines. Multi tenancy from day one. A real database. A modular monolith with clean boundaries. A job queue. Managed authentication. Externalized configuration. Each is a small decision at week one that compounds into the kind of system that can grow.

The cost of these disciplines is small. An extra hour to add tenant_id columns. An extra day to set up the job queue. An extra day to integrate Clerk. The total cost at week one is roughly a week of engineering time. The savings at year two are months of rewrite work.

The discipline that matters most is multi tenancy. Almost every B2B SaaS becomes multi tenant. The schema designed without tenant scope is the schema that takes a quarter to retrofit. The schema designed with tenant scope from day one is the schema that scales without architectural rework.

The disciplines that pay back

DisciplineCost at week oneSavings at year two
Multi tenancy in schemaAn hourA quarter
Real databaseNoneAvoiding migration to one
Modular monolithModestAvoiding microservices retrofit
Job queueDaysAvoiding retrofit
Managed authDayAvoiding migration
Externalized configHoursAvoiding scattered hardcoding
Structured loggingHoursAvoiding debugging by print
Secret managementDaysAvoiding credential leaks
Bounded contextsDaysAvoiding tangled module dependencies

How much does this cost

The total cost at MVP stage is roughly a week of engineering time spread across the build. The cost is invisible at MVP scale because the disciplines are simple and the data is small. The cost is enormous at year two if the disciplines were skipped because the retrofit work compounds.

Features the MVP design must have

  • tenant_id on every customer scoped table.
  • A real database that scales.
  • A modular monolith with named bounded contexts.
  • A job queue for background work.
  • Managed authentication.
  • Externalized configuration.
  • Structured logging.
  • A secret management approach that is not in code.
  • A clear path from MVP to production architecture.

Expert opinion

The MVPs that I have seen scale without rewrite share a small set of disciplines at the start. The ones that needed full rewrites at year two missed the same handful of disciplines. The pattern is consistent enough that I now insist on these for every client MVP. The cost at week one is a week of engineering. The savings at year two is a quarter. The math is favorable.

>

Yashveer Singh, founder of Yashveer Labs

How this played out on a real project

A client SaaS had built their MVP in three months. The team had moved fast. The schema had no tenant_id columns. The architecture was a tangle. The auth was hand rolled. The background work was a cron loop. By month nine the system was struggling.

We had to rewrite significant parts. Multi tenancy was added across forty tables. The auth migrated to Clerk. The background work moved to a Postgres backed queue. The cleanup took five months.

A different client started with the same scope but the disciplines were applied from day one. tenant_id columns. Clerk. Job queue. Modular monolith. The MVP shipped in three months and scaled through their next three years without architectural rewrite. The savings were a half year of engineering capacity that went into product instead of rework.

For more on the related work, see the modular monolith how to buy yourself two years and SaaS multi tenancy patterns database per tenant vs shared schema.

Common mistakes founders make

  1. No tenant_id columns. Multi tenancy retrofit is brutal.
  2. Firebase or DynamoDB without justification.
  3. Microservices at MVP stage.
  4. Hand rolled auth.
  5. Cron loops for background work.
  6. Hardcoded configuration.
  7. No structured logging.
  8. Treating MVP architecture as throwaway. Most of it survives.

A one week design exercise before coding

  1. Day one. Schema design with tenant_id everywhere.
  2. Day two. Pick the auth provider. Integrate.
  3. Day three. Set up the job queue. Use Postgres backed.
  4. Day four. Bounded contexts. Module boundaries.
  5. Day five. Configuration externalization. Secrets management.
  6. Day six and seven. Logging, observability, deployment pipeline.

For more on the related work, read the modular monolith how to buy yourself two years and the lean MVP stack for 2026 what I use for client projects. On the broader MVP side, the over engineering trap how founders kill their own products is the natural next read.

FAQ

Frequently asked

Author

The engineer behind this page

This was written by Yashveer Singh. Full stack developer, founder of Yashveer Labs, currently in Class 12 in New Delhi, shipping production systems while most of my peers are still writing their first console app. I am pointing the work, on purpose, at machine learning, AI engineering, and cybersecurity. If you are reading this because you want to hire someone who will not waste your time or your money, that is the role I am built for.

Related reading