Short version: The Vercel SaaS starter is genuinely the best free starting point for Next.js + Drizzle. It's clean, official, and well-documented. Already is what you build after you realise you need billing, auth hardening, multi-tenancy, an admin dashboard, and background jobs before you can ship your product. It ships all of those — for $199, once.

Feature matrix

Feature Next.js SaaS Starter Already
Framework & Language
Next.js App Router
TypeScript
Tailwind CSS
shadcn/ui components
Drizzle ORM
Databaseraw PostgresSupabase Postgres
Authentication
Auth.js (NextAuth v5)
Supabase Auth
Basic sign-in / sign-up forms
OAuth (Google, GitHub)
Magic link (passwordless)
TOTP 2FA (authenticator app)
Passkeys (WebAuthn)
Auth event audit log
Billing & Payments
Stripe integration~basic
Idempotent webhook handler
Dead-letter queue for failed webhooks
Plan-based feature gating
Customer billing portal
Trial + grace period
Multi-tenancy & Orgs
Organisation / workspace model
Role-based access control (RBAC)
Member invitations
Row-level security (Postgres RLS)
Admin dashboard with impersonation
Messaging
Transactional email
In-app notifications (Realtime)
Background Work
Cron-based background jobs
Postgres-backed job queue
API key management (hashed at rest)
Security & Hardening
CSP nonces
Rate limiting
Suspicious activity detection
GDPR export + deletion endpoints
AI & Developer Experience
Multi-provider AI module
AI credits ledger
Feature flags (PostHog)
AI-native context (CLAUDE.md / Cursor rules)
i18n (next-intl)
Cost
PriceFree (MIT)$199 one-time
Officially Vercel-maintained

✓ Included · — Not included · Amber text = partial implementation.

Auth

Next.js SaaS Starter free

Uses Auth.js v5 (NextAuth) with email + password and OAuth. Basic sign-in and sign-up forms are included. No magic link, no TOTP 2FA, no passkeys, and no auth audit log. For a free starting point, the coverage is reasonable and the implementation is clean.

Already complete

Supabase Auth with pre-built screens for every flow: email + password, magic link, OAuth, TOTP, and passkeys. Auth event log tracks every sign-in by device, IP, and timestamp. Email enumeration protection and rate limiting on all auth endpoints are on by default.

Billing

Next.js SaaS Starter free

Includes a basic Stripe subscription setup — enough to get a pricing page live and process a first payment. The webhook handler is minimal: no idempotency guarantees and no dead-letter queue. Plan-based feature gating, customer portal, and trial periods are not included.

Already complete

Full Stripe integration with idempotent webhook handling and a dead-letter queue for failed events. Plan-based feature gating, customer portal, trial periods with grace periods, and billing email notifications are all wired. Production-grade from day one.

Multi-tenancy — what the Vercel starter intentionally omits

Next.js SaaS Starter free

No multi-tenancy. The starter is explicitly scoped to single-user SaaS — Vercel's own documentation notes it as a starting point, not a complete product. Teams, organisations, member invitations, RBAC, and admin tooling are all out of scope and left to the developer.

Already complete

Full multi-tenant org model with Postgres RLS and query-layer tenant scoping. Member invitations with role assignment, RBAC across all routes, and an admin dashboard with user impersonation. Tested for cross-tenant data isolation. Standard B2B SaaS infrastructure, shipped.

The Supabase vs. direct Postgres difference

The Vercel starter connects to a direct Postgres database — no Supabase. This is a deliberate choice: it keeps the starter portable and not tied to a specific managed service. For a learning project or an internal tool with simple requirements, that's fine.

Already uses Supabase, which adds Realtime (for in-app notifications), Row-Level Security (enforced at the database layer), Storage, and a managed Auth service. If you're building a multi-tenant product, the Supabase stack is meaningfully better tooled — you get RLS for free, Realtime for notifications, and managed auth. The trade-off is vendor lock-in, which Already accepts as a deliberate decision.

Who should use what

Use Next.js SaaS Starter when

  • You need a free, MIT-licensed starting point
  • You're building a demo, internal tool, or prototype
  • You prefer to pick your own managed database provider
  • Vercel's official codebase and maintenance matter to you
  • Your product is single-user or doesn't require teams/orgs
  • You have time to build billing, admin, and background jobs yourself

Use Already when

  • You're building commercial B2B SaaS and need billing from day one
  • Your product needs workspaces, teams, or multi-tenancy
  • An admin dashboard and user management are table stakes
  • Background jobs and a job queue are on your roadmap
  • AI integration and AI-native DX (CLAUDE.md) matter to your workflow
  • You want 16 modules wired and tested — not assembled from scratch

The honest comparison

The Vercel Next.js SaaS Starter is the right answer when the answer to every module in this comparison is "we'll build that ourselves." It's clean, free, officially maintained, and uses the same Next.js + Drizzle foundation as Already. For teams with time, strong opinions on infrastructure, or a budget of $0, it's a great foundation.

Already is for the team that has built SaaS before and knows that billing, multi-tenancy, background jobs, and security hardening are 6–8 weeks of work before the first line of product code. The $199 one-time price is the cost of skipping that infrastructure build — with all 16 modules tested, documented, and ready to extend.