all notes
2026-07-14Naman Barkiya

The stack we use to ship MVPs in 6 to 16 weeks.

A production MVP in 2026 runs on Next.js with App Router, Postgres (Supabase or Neon), Drizzle, Tailwind with shadcn/ui, Clerk or Supabase Auth, and Vercel — a combination that ships in 6–16 weeks, transfers cleanly to an in-house team without a rebuild, and keeps every account under the founder's control from day one.

The six layers every MVP needs, why the right choices enable a 6–16 week timeline, and the three decisions that most commonly extend it.

A good MVP tech stack in 2026 is Next.js with App Router, Postgres (Supabase or Neon), Drizzle, Tailwind with shadcn/ui, Clerk or Supabase Auth, and Vercel. This combination produces a maintainable codebase that transfers cleanly to an in-house team, ships in 6–16 weeks from a capable studio, and doesn't require a rebuild when traction arrives.

What layers does an MVP tech stack actually need?

Every production MVP needs six things: a frontend framework, a database, an ORM, auth, deployment, and an email service. Adding AI to the list is optional — right for some products, not for others. The choices in each layer either compound your delivery speed or fight it.

LayerOur defaultWhy
FrameworkNext.js with App RouterSSR, API routes, and streaming in one repo; Vercel-native CI/CD
DatabasePostgres via Supabase or NeonRelational, zero lock-in, scales without re-architecting
ORMDrizzleSQL-close schema definitions; survived production across eight builds without bad surprises
UITailwind v4 + shadcn/uiComposable primitives; your design tokens, not a vendor's
AuthClerk or Supabase AuthCustom auth adds 4–6 weeks of engineering and opens a permanent security surface
DeploymentVercelZero-config for Next.js; preview environments from the first commit
EmailResendTransactional email without a DevOps dependency
AnalyticsPostHogEvents, funnels, and feature flags in one product; GDPR-native

This is the MVP tech stack 2026 we default to. Deviation happens with a reason, not a preference.

Why does the stack choice affect how fast the MVP ships?

Three ways a bad stack choice extends your timeline.

Auth complexity. "Simple login" hides a permissions model, password recovery, session management, and OAuth tokens. Building auth from scratch on a one-month timeline is how a six-week estimate becomes twelve. Clerk and Supabase Auth solve this in a day. We have built custom auth once; we will not do it again.

ORM mismatch. An ORM with a heavyweight abstraction layer (Prisma in the wrong config, for example) creates migration conflicts that take hours to debug. We switched from Prisma to Drizzle after three projects because Drizzle's closer-to-SQL model is easier to reason about under pressure. Easier to reason about under pressure is another way of saying faster to debug at 11 pm before a client demo.

Third-party integrations. Stripe, Twilio, and any AI provider each add a week to scope if they're not in the default stack. We know how these integrate into Next.js server actions, so we don't re-learn it on your timeline.

When does an MVP need AI in the stack?

When the product processes language or unstructured data, cannot be answered by a lookup or filter, and has an evaluation method to confirm the output is correct. If a feature fails two of those three, simpler code is probably better than a model call. We cover the full decision in does your app actually need AI.

When AI is the right call, here is how it lands in the stack:

AI use caseImplementationAdded scope
Simple prompt (summarise, classify, rewrite)Direct API call to Claude or GPT-4o via server action+1–3 days
Grounding answers in private dataRAG on pgvector (Supabase native)+2–4 weeks
Multi-step workflow agentState machine + tool calls + approval gates+4–8 weeks

AI inference costs $0.50–$5 per thousand calls depending on the model and prompt length. At 50,000 monthly queries, budget $25–$250 per month in addition to hosting. The engineering cost is nearly always larger than the inference cost. We covered the full cost breakdown in what a custom AI chatbot or agent costs in 2026.

What stack decisions change for different MVP types?

Two-sided marketplace. Add a permissions model (Supabase Row Level Security is the cleaner path here than app-layer guards), a payments layer (Stripe Connect if money moves between users), and a notifications service (Resend plus a queue). Budget two to four extra weeks.

Mobile-first product. React Native with Expo plus the same Postgres backend. The backend changes nothing; the frontend doubles in scope and adds App Store submission. If the core value can live in a responsive web app, ship that first.

Internal tool or admin dashboard. The same stack, with heavier TanStack Query and a read-heavy data model. Internal tools rarely need the polish of consumer products; allocate the saved design time to permissions and audit logging, which internal tools always need and rarely get.

Why not [alternative framework]?

The most common alternatives we see in briefs: Remix, SvelteKit, Ruby on Rails, and Django.

All four are legitimate. We default to Next.js because it is where our accumulated patterns live — component library, auth integration, server action structure, deployment config. Switching frameworks on a fixed timeline means re-learning deployment, re-discovering quirks, and slowing down in week two when momentum matters most. If your existing codebase is on Rails or Django, we extend it; we don't rebuild it.

The other question we get is why Postgres instead of a document store. Document stores fit rapidly changing schemas in the early days of a product. Postgres with Drizzle lets us change the schema too, but with migrations — which means we know exactly what changed and when. That audit trail matters when a bug surfaces in production six weeks later.

What do you own when the MVP ships?

A Next.js repo under your GitHub organisation, with you as admin from the first commit. Full IP assignment, Drizzle migrations that document every schema change, and a production Supabase project in your account. We have written more on the IP and code-ownership question in who owns the code when you hire a developer and the 12 questions to ask before wiring a deposit.


Heuristics

If you're evaluating studios and want to know how we approach the engineering side of a build, the full engineering stack note from November 2025 covers what we use and what we stopped using. If you want to know what a build costs, start with what an MVP costs in 2026.

Written 2026-07-14 by Naman Barkiya.

FAQ

Questions this usually surfaces.

What is the best tech stack for an MVP in 2026?
Next.js with App Router, Postgres (Supabase or Neon), Drizzle, Tailwind with shadcn/ui, Clerk or Supabase Auth, and Vercel. This combination ships in 6–16 weeks, produces a maintainable codebase, and transfers cleanly to an in-house team without requiring a rebuild. The more important question is whether the studio building it has shipped the same combination five or more times — pattern-matching on familiar tools is where speed actually comes from.
Why does the tech stack affect how fast an MVP ships?
Three layers are the most common timeline killers: auth (custom auth adds 4–6 weeks and a permanent security surface that Clerk or Supabase Auth solves in a day), ORM choice (an ORM with heavy abstraction creates migration conflicts that eat hours before demos), and third-party integrations (Stripe and Twilio each add a week if the studio hasn't integrated them dozens of times before). The stack choice is a shorthand for accumulated patterns, not just tool preferences.
How much does the tech stack add to an MVP's running cost?
The default stack costs $50–$200 per month at launch: Vercel's Pro plan, a Supabase project, and Resend's starter tier together. At meaningful traffic, Supabase scales predictably on usage. AI inference (when the product needs it) adds $25–$250 per month at 50,000 monthly queries depending on the model and prompt length. These are running costs, not build costs — they start after launch, not from the deposit.