The Next.js SaaS starter template that's actually ready to ship

A "template" should mean the boring, load-bearing 80% is already built and tested — auth, billing, dashboard, email — so you spend your time on the 20% that's your product. This one delivers that, and proves it the only honest way: with the real repo tree and a purchase-to-production walkthrough, not a wall of feature promises. Next.js 15, one-time payment, instant GitHub access.

Framework: Next.js 15 (stable App Router) Code: 81 files · 3,991 real lines Tests: 45 Vitest, green

What's actually in the template

Every row here is wired end-to-end, not a placeholder. Where something is a deliberate scaffold or a known gap, it's flagged by the template's own npm run audit command — see the published audit output.

Auth (Clerk)

Sign-in / sign-up, protected /dashboard and /admin via middleware, and server helpers in lib/auth.ts (requireUser, requireAdmin).

Billing (Stripe)

Checkout, billing portal, and signature-verified webhooks handling checkout.session.completed, invoice and subscription events, with the plan enum kept in sync.

Admin dashboard

A real admin area that computes MRR and plan splits from Prisma queries against the User model — not a static mock.

Email (Resend)

Four React Email templates wired to events, sent through Resend — welcome and subscription lifecycle out of the box.

i18n + blog

8 locales via next-intl, and an MDX blog pipeline (gray-matter + next-mdx-remote) for content and SEO.

Tests + CI + AI configs

45 Vitest tests, a GitHub Actions workflow, plus CLAUDE.md and Cursor/Windsurf rules so agentic editors understand the codebase.

Honest exclusions, stated up front: single-tenant (User/Admin, no org teams), Stripe-only (no merchant-of-record), in-memory rate limiting, and an ApiKey table that's a scaffold today. All four are documented, not hidden.

The real repository tree

Templates are sold on screenshots; this is the file structure you actually clone. If the shape of a codebase tells you whether it was built by someone who ships, here it is unedited:

src/
├── app/
│   ├── (auth)/                 # Clerk sign-in / sign-up
│   ├── (marketing)/            # landing, blog, pricing
│   ├── dashboard/              # protected app: settings, billing
│   ├── admin/                  # admin-only: users, MRR metrics
│   ├── api/
│   │   ├── webhooks/stripe/    # signature-verified handler
│   │   ├── webhooks/clerk/
│   │   ├── stripe/checkout/
│   │   └── stripe/portal/
│   ├── sitemap.ts  robots.ts   # SEO generation
│   └── layout.tsx  not-found.tsx
├── components/
│   ├── ui/                     # shadcn-token components
│   ├── landing/  dashboard/  emails/
├── lib/
│   ├── auth.ts   stripe.ts   prisma.ts
│   ├── email.ts  blog.ts     rate-limit.ts
│   └── utils.ts  config.ts
├── emails/                     # 4 React Email templates
├── i18n/  messages/            # 8 locales (next-intl)
├── __tests__/                  # 45 Vitest tests
└── middleware.ts               # route protection

prisma/schema.prisma            # User, WaitlistEntry, ApiKey + enums
content/blog/                   # MDX posts
scripts/audit.mjs               # npm run audit — the self-report
CLAUDE.md  .cursorrules         # AI agent configs

Want to see how the layers connect? The architecture doc walks auth → data → billing, and the full docs are public before you buy.

From purchase to production, in an afternoon

No mystery steps. This is the whole path from paying to a deployed app on Vercel — the same one the docs spell out in detail.

  1. 1

    Clone

    Instant access to the private repo on purchase. git clone then npm install.

  2. 2

    Configure .env

    Copy .env.example, paste Clerk / Stripe / Postgres / Resend keys. Every var is documented; npm run audit flags anything missing.

  3. 3

    Push the database

    npx prisma db push against any Postgres host, then npm run db:seed for demo data. (Want Supabase? here's how.)

  4. 4

    Run & verify

    npm run dev to boot, npm test for 45 green tests, npm run stripe:listen to exercise webhooks locally.

  5. 5

    Deploy to Vercel

    Push to GitHub, import to Vercel, add the same env vars, deploy. Point Stripe's webhook and your Clerk instance at the production URL — live.

Step-by-step with commands: getting started and deployment docs.

Free template vs this premium template

A free Next.js SaaS template is a legitimate choice — we even name the good free repos. The difference isn't "free is bad", it's how much is finished and who maintains it.

Free template versus this premium template
  Free template (typical) This template
Price$0$149 / $299 one-time
Auth finishedSkeletonClerk, wired
Stripe webhooks hardenedOften example-gradeSignature-verified + plan sync
Admin MRR dashboardNoYes
Email templatesRarely4 React Email
TestsRarely45 Vitest
Maintained for youNo — your forkFree updates for life
Wiring hours you save0 (you do them)~72 hours

The full hours breakdown and the case for staying free is on the free starter page — read it before buying, not after.

One-time pricing. No subscription.

Pay once, own the template, ship as many features as you like on top. 30-day money-back guarantee.

Starter
$149

One-time · 1 commercial project

  • Full source code + all docs
  • AI configs (CLAUDE.md, Cursor)
  • Free updates for life
  • 30-day money-back guarantee
Get Starter — $149
BEST VALUE
Unlimited
$299

One-time · unlimited projects + client work

  • Everything in Starter
  • Unlimited commercial projects
  • Agency license (build for clients)
  • Priority email support
Get Unlimited — $299

Secure payment via Stripe · Instant private GitHub access · 30-day refund

Template FAQ

Can I use this template on more than one project? +

The $149 Starter license covers one commercial project; the $299 Unlimited license covers unlimited projects and client work, which is why agencies take that tier. Both include free updates for life. Full terms on the terms page.

Do I get updates after buying? +

Yes — free updates for life, pulled from the same private repo. Dependency bumps, security patches and roadmap items land for existing buyers at no extra cost. The template is maintained because this marketing site and other KipDev tools run on the same stack, so real edge cases feed back in.

Can I customise it with AI (Cursor, Claude, Windsurf)? +

Yes. The repo ships a CLAUDE.md, Cursor and Windsurf rule files and a documented prompts guide, so agentic editors know the auth helpers, the plan model and the architecture. Customising features by prompt becomes reliable instead of a guessing game.

How's this different from a free template? +

A free template leaves ~70–90 hours of wiring — hardened webhooks, admin panel, email, i18n, tests — as an exercise; this one ships them finished and tested, plus lifetime updates. If your time is worth more than $149 for two weeks of plumbing, it pays for itself. If not, a free repo is the right call — we name several.

What's the refund policy? +

30-day money-back guarantee, no questions asked — refund policy. Because it's a private repo you can't fully read first, the published audit output and the live demo are the pre-purchase proof.

Skip the plumbing. Ship your product.

The auth, billing, dashboard and email are built and tested. Clone, add your keys, deploy to Vercel this afternoon — and if it doesn't hold up, you have 30 days.

One-time payment · 30-day refund · Instant GitHub access · Read the docs before buying