TL;DR: Next.js + Supabase is the highest-leverage SaaS stack of 2024 if you discipline your RLS and queue layer from day one.
The stack
- Frontend: Next.js 14 App Router + TypeScript + Tailwind
- Auth: Supabase Auth (email + OAuth)
- Database: Supabase Postgres with Row Level Security
- Queues: Inngest for background jobs
- Observability: Vercel Analytics + Sentry + Axiom logs
Multi-tenancy with RLS
We use a single organization_id column on every tenant-owned table, enforced by a single RLS policy template. This scales cleanly to thousands of tenants.
The mistakes we see
Skipping RLS, writing raw SQL in route handlers instead of typed RPC functions, and not adding indexes until production fires. All preventable.