Article
Our 2026 stack: what we use to ship in 48 hours
Next.js, Supabase, Vercel, and a handful of AI tools. Here's the exact stack we use on every project and why.
Why we standardized on one stack
Two years ago we used whatever the client wanted. Rails, Laravel, Django, custom backends — we could work with anything. But we found that context switching between stacks cost us 30–40% of our velocity. Worse, it made onboarding new team members painful.
So we made a decision: standardize on the best modern stack and get truly fast on it. Here's what we landed on.
The core: Next.js 15 + Supabase
Next.js handles everything frontend — pages, API routes, server components, edge functions. We use the App Router. Server Components mean less client-side JavaScript and faster initial loads. It's also what most AI coding tools are best at generating.
Supabase is our backend. Postgres database, Row Level Security for auth, real-time subscriptions, storage — all in one managed platform. A junior dev can set up a complete auth system in 90 minutes. We used to spend 2 days on this.
Deployment: Vercel
Vercel is the obvious choice for Next.js. Zero-config deploys, preview environments for every PR, edge network, built-in analytics. We've never had a deployment fail. And the Supabase integration is native.
Payments: Stripe
For any product with billing, we use Stripe. Their API is excellent, the documentation is comprehensive, and Claude can generate a working Stripe integration in about 20 minutes. We use Stripe Checkout for most projects — it handles the complex parts for us.
AI tools in the workflow
Cursor — our primary IDE. The agent mode has replaced a significant amount of boilerplate writing.
Claude — for architecture discussions, code review, writing complex business logic, and generating test cases.
v0 — for UI components we need fast. Generates solid shadcn/ui-based components in seconds.
Supabase AI — for writing RLS policies and complex SQL queries.
What we skip
We don't use ORMs. Supabase's generated TypeScript types plus raw SQL (via the client) gives us type safety without the abstraction overhead.
We don't use Redux or Zustand for most projects. Server Components + a few useState hooks covers 90% of state management needs.
We don't use Docker locally. Supabase's local dev setup handles the database. Everything else runs natively.
About this article
Reading Time
2 min read
Category
Engeenring
Written by
The Novabuild Team
Available now — 2 slots left this month
Ready to build something great?
We ship products fast. Let's talk about your idea.
Replies in 48 hours
You own all the code
Average ship in 7 days
5.0 — Rated by 50+ founders
