Skip to main content
← Back to blog

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

announcementgetting-started

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.

Email

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.