Next.js + Supabase
Overview of the Next.js + Supabase starter: what it ships with, what you need, and where to go next.
This kit uses Next.js App Router, Supabase Postgres and Supabase Auth. You get the account, workspace and project foundation, a separately deployed admin app, and separate agent connections for users and application administrators.
Open the live demo · Repository
The stack
| Layer | What the kit uses |
|---|---|
| Frontend | Next.js 16 App Router on React 19, Tailwind CSS v4, shadcn/ui |
| Database | Supabase Postgres with Row Level Security on every user-facing table |
| Auth | Supabase Auth (email + password, magic link, optional social providers) |
| React Email templates, Resend in production, Mailpit locally | |
| Payments | Stripe behind a payment gateway abstraction |
| Hosting | The demo runs on Vercel as two projects (web and admin). A netlify.toml is also included for the web app. |
| Tooling | Turborepo, pnpm, Oxlint, Oxfmt, Vitest, Playwright, pgTap |
The repository is a Turborepo workspace with four apps: apps/web (the Next.js product), apps/admin (the administration app, deployed on its own origin), apps/database (Supabase config, migrations, seed and pgTap tests) and apps/email (React Email preview server). See project structure.
What you get out of the box
- Accounts with sign-up, login, email verification, password reset and magic links.
- Onboarding that completes a profile, creates a workspace and resolves pending invitations.
- Multi-tenant workspaces at
/workspace/[workspaceSlug]withowner,admin,memberandreadonlyroles enforced in RLS. - Projects scoped to a workspace, with approval status, comments and Realtime updates.
- Workspace invitations with email delivery, expiry and accept/decline flows.
- A separate admin app (
apps/admin, port 3002 locally) that serves/app-adminfor users, workspaces, marketing content, feedback moderation, the payment gateway and settings, plus support sign-in links into the web app. - User MCP on the web app at
/mcp/userand Admin MCP on the admin app at/mcp/admin, both with OAuth. - Stripe billing: subscriptions, one-time payments, invoices, customer portal and a webhook handler at
/api/stripe/webhooks. - 41 React Email templates and a local preview server.
- In-app Realtime notifications.
- Marketing site, MDX blog, Fumadocs documentation at
/docs, public roadmap, changelog and feedback boards. - Optional integrations wired but off until configured: Sentry, PostHog, Google Analytics, Unkey API keys, OpenAI chat and image generation, OpenTelemetry.
Prerequisites
- Node.js 24.
.nvmrcpinsv24andapps/webandapps/admindeclareengines.node >= 24.0.0. - pnpm 11. The root
package.jsonsetspackageManagertopnpm@11.1.2;corepack enablepicks it up. - Docker or Podman for the local Supabase stack, or a sandbox that supports Supabase's native runtime. The kit pins the Supabase CLI to
2.121.0and enables the stack engine, so every git worktree gets its own local project. See local Supabase per agent. - For production: a Supabase project and a Resend account. A Stripe account if you keep billing. Sentry, PostHog, Unkey and OpenAI accounts only if you turn those features on.
Naming inside the repository
The repository's README, root package.json (nextbase-ultimate) and Supabase project_id (nextbase-ultimate) still use the product's older name, Nextbase Ultimate. It is the same kit. The web package is web, the admin package is admin, the database package is database and the email package is @nextbase/email; those are the names you pass to pnpm --filter.
Next steps
- Installation: clone, start a local Supabase project and run the web and admin apps.
- Environment variables: every variable in
apps/web/.env.local.exampleandapps/admin/.env.local.example. - Authentication: Supabase Auth, email verification, the admin role, the admin app and RLS.
- Agent connections: the User MCP and Admin MCP for this kit.
- Project structure: where things live and where to make changes.
- Deployment: Supabase project, migrations, two Vercel projects and the first smoke checks.
For the shared concepts, read getting started, workspaces and the admin area and user and admin MCPs.