Welcome to the SaaS Template
What this template ships with out of the box, and how to make it yours in a weekend.
by The Team
This template exists because spinning up the same scaffolding for every new product is a tax on creativity. Auth, billing, multi-tenancy, email — these are solved problems. This template solves them once so you can spend your time on the part only you can build.
What ships on day one
Authentication
Neon Auth (Better Auth) is pre-wired. Email/password, magic links, and OAuth providers are a config flag away. Session management, RBAC, and row-level security policies are already in place — you don't retrofit them later.
Multi-tenancy
Every user gets an organisation on signup. The tenancy mode (cookie, path, or subdomain) is a single environment variable. Switch modes without touching business logic.
Billing
Stripe Checkout and the billing portal are connected. Products and prices live in your Stripe dashboard; the starter just wires the webhooks and syncs subscription state to your database.
Resend handles transactional email. Welcome messages, password resets, and invite flows are already templated with React Email components.
Stack
| Layer | Technology | |-------|-----------| | Framework | Next.js 16 (App Router, RSC) | | Styling | Tailwind CSS v4 | | ORM | Drizzle + Neon PostgreSQL | | Auth | Better Auth / Neon Auth | | Billing | Stripe | | Email | Resend | | Hosting | Vercel |
Getting started
Clone the repo, copy .env.example to .env.local, fill in your keys, and run pnpm dev. The getting started guide walks through every variable.
Making it yours
Edit src/config/brand.ts to change the product name, tagline, colours, and legal entity — that one file propagates everywhere. Run pnpm rebrand for an interactive wizard.
We're excited to see what you build. If you hit a snag, open an issue or reach out at support@example.com.