Next Starter Logo

Introduction

Next Starter is a Next.js 16 SaaS boilerplate with Better Auth, Stripe billing, Prisma and PostgreSQL, file storage, email, and an admin dashboard.

What is Next Starter?

Next Starter is a SaaS boilerplate for Next.js. The parts every SaaS app needs are already built and wired together: sign-in, billing, database, email, file storage, and an admin dashboard. You start with a working app and add your own features on top.

You get the full source and can change any of it. These docs explain how each part works and which files to edit.

Tech stack

LayerTechnology
FrameworkNext.js 16 (App Router, Turbopack, React Compiler)
LanguageTypeScript 7 (strict)
UIReact 19, Tailwind CSS v4, shadcn/ui (Radix)
AuthenticationBetter Auth (email/password, Google sign-in, email verification)
BillingStripe, via the Better Auth Stripe plugin
DatabasePostgreSQL with Prisma 7
EmailReact Email templates, sent over SMTP2Go
File storageCloudflare R2 (S3-compatible)
Bot protectionCloudflare Turnstile
LoggingPino

What's included

Authentication. Sign up, sign in, email verification, password reset, Google sign-in, and per-user API keys, all through Better Auth. Sessions live in the database. Every user carries a user or admin role, and the admin routes and Server Actions check it. See Authentication.

Onboarding. A new account runs a two-step wizard, profile then plan, before the dashboard opens up. See Onboarding.

Billing. Stripe subscriptions with plan tiers and monthly or annual pricing, a billing dashboard, the Stripe customer portal, and webhook handling. It runs through Better Auth, so a user's subscription reads the same way on the server and the client. See Billing.

Admin dashboard. A protected area where users manage their profile and settings. Admins also get user management and a file browser for Cloudflare R2. See Admin Dashboard and File Uploads.

Email. Eleven React Email templates cover everything the app sends: account and password mail, contact form submissions, and subscription notices. See Email.

Marketing pages. A landing page built from ten sections in app/(site)/, plus pricing, about, contact, privacy, and terms. The list-shaped sections keep their content in a matching data file (faq-data.ts, testimonials-data.ts, process-data.ts, customers-data.tsx), so you edit FAQ entries, testimonials, customers, and process steps as plain arrays. See Project Structure.

Security. CSP and HSTS headers, CSRF protection via Better Auth, Cloudflare Turnstile on the contact form, a Zod schema behind every form that most Server Actions re-run on the data they receive, and an environment check that throws before anything renders. See Security.

Developer experience. Biome for linting and formatting, Husky Git hooks, Playwright end-to-end tests, and a Docker build for self-hosting.

Find your way around

On this page