Most B2B SaaS founders waste weeks on auth, billing, and teams before building anything
Early bird — $99, price increases soon

Skip the boilerplate.
Ship on day one.

The Next.js starter for B2B SaaS

Multi-tenant workspaces, Stripe billing, role-based access, auth, and more — all wired up from day one. Whether you're prompting Claude or writing every line yourself, you start at the product, not the plumbing.

One-time purchase · No subscription · Full source code · Lifetime updates

Skip the setup. Start with something production-ready.

~120h

saved per project

17

features included

$99

one-time

Product

Everything you need, ready on day one

Real screens from the template. Auth, billing, teams, notifications, email templates — all wired up before you write a single feature.

Built right

Not just a starter. The right way to build.

Most starters give you a folder with some files. TheShipStack gives you the architecture, conventions, and tooling a senior engineer would set up — so you start with a codebase you're proud of, not one you'll regret in six months.

TypeScript everywhere

Strict types across the entire codebase. No any, no shortcuts. Your AI writes better code and your editor catches mistakes before they ship.

Conventional commits

Commitlint + Husky enforce commit message format on every commit. Clean git history from day one.

CI on every push

GitHub Actions runs lint → type-check → unit tests → build on every push and pull request. Nothing broken reaches main.

Env validation at startup

Every environment variable is validated with Zod before the server starts. Missing vars fail loudly with a clear error — not silently at runtime.

Tested from the start

Vitest for unit tests, Playwright for E2E with real browser and real database. Test scaffolding is already in place — just add your tests.

Production-grade auth

Better Auth handles sessions, OAuth, email verification, password reset, and rate limiting. Not a tutorial implementation — the kind you'd build at a real company.

Consistent patterns

Forms, data fetching, server actions, route protection — every pattern is established and consistent. You follow the pattern, not invent one.

Local = production

Docker Compose runs Postgres, MinIO, and Mailpit locally. Same connection strings, same behavior. No "works on my machine."

One repo. One deployment. No monorepo to learn. Clean structure, strict types, tested, linted, and ready to hand off to a team, an AI, or your next hire — without navigating five apps and ten packages first.

Who it's for

Built for founders shipping B2B SaaS.

If your product has teams, subscriptions, or role-based access — this is built for you. Skip the hardest parts and start on what actually makes your product different.

Solo founders

You have a B2B idea and need to validate fast. You don't want to spend weeks wiring up orgs, billing, and auth before you talk to a single customer. TheShipStack handles that so you don't have to.

Indie hackers

You're shipping multiple products. Every one of them needs the same painful infrastructure — Stripe webhooks, multi-tenant orgs, RBAC. Start from something production-ready instead.

Vibe coders

You build with Claude, Cursor, or Windsurf. A clean, typed, well-structured codebase means your AI writes better code and makes fewer mistakes. Describe your feature, ship it.

AI-first builders

You're building a tool where companies pay and teams collaborate. The multi-tenant architecture, billing tiers, and role system are already there — just model your domain on top.

Small teams

Two or three developers who want to move fast without cutting corners. The CI, linting, testing, and type-safety are already set up. You start with a codebase that scales.

Developers

You know exactly what's in here and why it's set up this way. You just don't want to wire up Stripe subscriptions, org switching, and RBAC for the fifth time.

Built for the AI era

LLMs like Claude, GPT-4, and Gemini write dramatically better code when the codebase is clean, typed, and well-structured. TheShipStack gives your AI the ideal starting point — consistent patterns, full TypeScript, no legacy debt. Describe your feature, let the AI build it, ship it. That's the loop.

What's included

Everything you need to start

17 production-ready features wired up from the first commit.

Authentication

Email/password and Google OAuth via Better Auth. Email verification, password reset, and rate limiting included. Two-layer route protection.

Dark / Light Mode

next-themes with system preference detection. No flash on load. Toggle between themes instantly.

Dashboard

Collapsible sidebar with navigation. Settings page with profile, password, connected accounts, and account deletion.

Database

Drizzle ORM with PostgreSQL. Neon in production, Docker Compose locally — same connection string.

Email

Resend with React Email templates in production. Mailpit locally. Transactional emails for verification and password reset.

Env Validation

Zod-validated environment variables at startup. Fails fast with a clear error if anything is missing.

File Uploads

Better Upload with Backblaze B2 in production and MinIO locally. Pre-configured routes with file type and size validation.

Forms

react-hook-form with Zod resolvers. Field-based pattern with inline validation errors.

Onboarding

Post sign-up onboarding flow. Collects profile data and marks users as onboarded. Redirects new users automatically.

Rate Limiting

Built-in rate limiting on auth endpoints via Better Auth. Protects against brute force and abuse out of the box.

SEO

Root metadata with OpenGraph and Twitter cards. Dynamic sitemap and robots.txt.

Testing

Vitest for unit tests. Playwright for E2E with real auth flows. CI on GitHub Actions.

Toast Notifications

Sonner with custom icons for success, error, warning, info, and loading states.

Billing

Stripe multi-plan billing with Starter, Pro, and Business tiers. Monthly and annual intervals. Upgrade/downgrade with proration. Webhook-driven status sync.

Teams & Workspaces

Multi-tenant organizations via Better Auth. Invite members, assign roles (owner, admin, member), enforce per-plan limits, and gate actions with full RBAC.

RBAC

Role-based access control via Better Auth access control plugin. Owner, admin, and member roles with typed permissions per resource. Enforced in actions and UI.

UI Components

All shadcn/ui components installed. HugeIcons for icons. Dark/light mode with no flash.

Your brand

Any look. Any feel.

TheShipStack includes the full shadcn/ui design system — 50+ components, CSS variables, and token-based theming. Change one config and the entire app reflects your brand.

MyApp
Pro

Revenue

$12.4k

Users

1,240

Recent

Dashboard
Settings
Analytics

Minimal Dark

MyApp
Pro

Revenue

$12.4k

Users

1,240

Recent

Dashboard
Settings
Analytics

Warm Studio

MyApp
Pro

Revenue

$12.4k

Users

1,240

Recent

Dashboard
Settings
Analytics

Electric SaaS

MyApp
Pro

Revenue

$12.4k

Users

1,240

Recent

Dashboard
Settings
Analytics

Clean Corporate

All built on the same codebase. Zero lock-in on aesthetics.

Time saved

Already done vs. yours to build

Honest breakdown of what TheShipStack handles so you don't have to.

FeatureBuild it yourselfWith TheShipStack
Auth (email + OAuth + verification)12h
Password reset flow3h
Onboarding flow4h
Dashboard layout & sidebar5h
Settings page (profile, password, accounts)8h
Workspace settings page4h
File upload (local + prod storage)10h
Email templates + local testing setup4h
Env validation & error handling2h
CI, linting, git hooks, type-check5h
Unit + E2E test scaffolding8h
SEO, sitemap, robots.txt2h
Docker Compose local services5h
Multi-plan billing + Stripe webhooks16h
Teams & workspaces (multi-tenant)18h
Role-based access control (RBAC)10h
Notifications system4h
Total~120hDone on day one

Tech stack

Next.jsFramework
TypeScriptLanguage
Tailwind CSSStyling
shadcn/uiComponents
HugeIconsIcons
Drizzle ORMDatabase
Better AuthAuth
StripeBilling
Better UploadUploads
Resend + React EmailEmail
TanStack QueryData Fetching
ZustandState
react-hook-form + ZodForms
Vitest + PlaywrightTesting
Commitlint + HuskyGit Hooks
GitHub ActionsCI

How it works

From zero to shipping in days

Skip straight to the part that makes your product unique. Everything else is already done.

01

Buy & clone

~10 minutes

Purchase, get the repo link, clone it. Copy .env.example and run docker compose up. Auth, billing, workspaces, and email are all working locally in minutes.

02

Model your domain

Day 1

Add your tables to the Drizzle schema alongside the existing auth, org, and subscription tables. Run pnpm db:push. The infrastructure is wired — you just define what makes your product yours.

03

Build your features

Days 2–3

The dashboard layout, sidebar, org switcher, billing pages, and settings are already there. You write the routes, forms, and logic unique to your idea — nothing else.

04

Ship to production

Day 4

Push to Vercel, point at Neon and Backblaze B2, set your env vars. CI runs lint, type-check, and tests on every push. Your B2B SaaS is live.

Case study

Building a B2B SaaS on top of TheShipStack

A concrete walkthrough of shipping a real B2B product — a client reporting tool where agencies invite their clients, assign roles, and pay per workspace.

Day 1

Clone, configure, deploy

Purchase TheShipStack, clone the repo, fill in .env, run docker compose up. Auth, multi-tenant workspaces, Stripe billing, and email are all working locally. Push to Vercel, point at Neon and Backblaze B2. Your production environment is live before you write a single feature.

AuthWorkspacesBillingCI/CD
Day 2

Model your domain

Add your tables — reports, clients, metrics — to the Drizzle schema alongside the existing org and subscription tables. Run pnpm db:push. Write server actions to create reports and assign them to workspaces. RBAC is already wired — admins can edit, members can only view.

Drizzle schemaServer actionsRBAC
Day 3

Build the core UI

Use the existing dashboard layout, sidebar, and shadcn/ui components to build the reports list, report detail view, and client selector. The org switcher, invite flow, and role management are already there — you just add your routes.

Dashboard layoutshadcn/uiTeam management
Day 4

Billing tiers & polish

The Starter plan allows 3 clients, Pro allows unlimited. That limit check is one function call against the existing plan config. Wire up an email notification when a new report is published using the Resend + React Email setup. Write a Playwright test for the invite flow.

Plan limitsEmailE2E tests

Pricing

One-time purchase

No subscriptions. Pay once, own it forever.

Early bird pricing
$99$149

One-time purchase · Lifetime updates · Full source code

Auth & Users

Auth (email + Google OAuth + verification)
Password reset flow
Onboarding flow
Settings (profile, password, accounts)

Teams & Billing

Multi-tenant workspaces & organizations
Invite members, assign roles (owner/admin/member)
Role-based access control (RBAC)
Stripe billing — Starter, Pro, Business plans
Monthly & annual intervals with proration
Webhook-driven subscription sync

Infrastructure

Database (Drizzle + PostgreSQL)
File uploads (B2 in prod, MinIO locally)
Email templates + Mailpit local setup
Env validation & error handling
Docker Compose local services

Quality

CI, linting, git hooks, type-check
Unit + E2E test scaffolding
SEO, sitemap, robots.txt
Get TheShipStack — $99

Full source code · No lock-in · No black box · Yours forever

Price increases soon — lock in $99 while it lasts

FAQ

Common questions

Your B2B SaaS starts here.

Teams, billing, and RBAC are already wired up. Clone the repo and start building the thing only you can build — not the infrastructure everyone else has already solved.

Get TheShipStack — $99

One-time purchase · Full source code · No lock-in · Lifetime updates

Payments launching soon — email us to get early access now