Skip to content
WHOFF / THE DEVELOPER COLLECTIONINDEPENDENT THINKING. EXTRA DIMENSION.

Launch Your AI SaaS This Week.

Production-ready Next.js boilerplate with auth, Stripe billing, and streaming Claude chat pre-wired — not documentation, not demos. The stack that actually ships.

You already know what happens at week three.

You start a new SaaS project with momentum. The Next.js scaffold is up in minutes. Then you need auth. Then billing. Then you want to add an AI chat feature — but it has to respect subscription tiers. Three weeks later you're still wiring Stripe webhooks and haven't touched your actual product idea.

That's not a skills problem. That's a boilerplate problem.

And here's the expensive part: every project starts over from scratch.

The infrastructure tax nobody talks about

Most developers building AI SaaS hit the same wall early.

Standalone: works great. Next.js is fast, Claude is capable, Stripe's API is well-documented. You ship small things faster than ever.

Then you try to build a real product. You need users to log in. You need them on plans. You need the AI feature to know which plan they're on and enforce a limit. You read the docs for each piece — NextAuth, Stripe, the Anthropic SDK — and they all work individually. Getting them to talk to each other, consistently, with proper webhook handling and database models, takes weeks.

“I spent three weeks on auth and Stripe before I wrote a single line of product code. Next time I'm starting from a template that has this stuff done.”

— Developer on r/nextjs, Jan 2026

This isn't a gap in your skills. It's a gap in the available starting points. The documentation describes each piece. Nobody ships you the working system with all the pieces integrated.

Until now.

What actually goes wrong (so you know we've been there)

Building AI systems at this studio taught us the specific ways these integrations break. Not theory. Real failures, real debugging hours.

Problem 1: Stripe webhooks arrive out of order.

A subscription is created. Your webhook handler fires. But the checkout session event arrives after the subscription event. Your handler assumes a sequence that Stripe doesn't guarantee. The user is on the free plan in your database while Stripe says they're paying.

Problem 2: Per-plan limits in a streaming context.

You can't count tokens after the stream finishes and then decide to block — the response is already in the user's browser. Enforcing per-plan limits requires checking before the stream starts, tracking usage mid-stream, and surfacing the upgrade prompt cleanly. Getting this wrong means free users consume Pro resources or paying users hit walls they shouldn't.

Problem 3: OAuth callback mismatches in production.

NextAuth works locally. You deploy. The callback URL is wrong, or the session cookie domain doesn't match, or the OAuth app hasn't been updated with the production URL. The fix is a 2-minute config change — but you spend 4 hours finding it.

Problem 4: SQLite dev / Postgres prod divergence.

You write migrations against SQLite. They run fine locally. In production on Postgres, a column type is different, a constraint that SQLite ignores is enforced, and your deployment breaks. The kit's Prisma setup uses a single schema that works in both environments without surprises.

Problem 5: No dashboard to show users their plan.

You have billing working. Users can upgrade. But they can't see what plan they're on, how much of their allowance they've used, or where to manage their subscription. Without a dashboard, support tickets replace self-service.

Built from real integration work

The AI SaaS Starter Kit packages the integration decisions that eat your first weeks — the Stripe webhook patterns, the per-plan enforcement approach, the OAuth wiring — documented so you skip the part where you figure it out the hard way.

What's inside the AI SaaS Starter Kit

NextAuth — GitHub + Google OAuth, Ready on Day 1

Both OAuth providers are pre-configured via NextAuth. Session management, protected routes, and user callbacks are wired. You add your provider credentials and it works. No manual OAuth flow implementation. No session handling from scratch.


Stripe Billing — 3 Tiers, Portal, Webhooks

Three subscription tiers with Stripe Checkout, the customer self-serve portal, and a webhook handler covering the full subscription lifecycle: created, updated, cancelled, payment failed. Plan data is stored in your database and synced on every webhook event.

“Stripe webhooks are where every boilerplate cuts corners. This one doesn't.”


Streaming Claude Chat — Per-Plan Limits Enforced

Claude chat with streaming responses rendered incrementally in the browser. Message limits are checked before the stream starts, tracked per user, and surfaced with an upgrade prompt when hit. Free users get a limit. Pro users get more. Enterprise users are uncapped. The logic is in the kit — not a TODO comment.


Prisma ORM — SQLite Dev, Postgres Prod

One schema. Two environments. SQLite for local development — zero setup, instant start. Postgres for production — swap one environment variable. Migrations included. Models cover users, sessions, subscriptions, and usage.


Dashboard + Dark Mode

A functional user dashboard showing current plan, usage against the limit, and a direct path to the Stripe portal for subscription management. Built with shadcn/ui-style components. Dark mode via next-themes, toggle included. Full TypeScript throughout.

What you actually get

Every file is readable. Every integration is documented. You can understand the full stack in an afternoon.

  • NextAuth config — GitHub + Google OAuth, session callbacks, protected route middleware
  • Stripe integration — Checkout sessions, customer portal, webhook handler
  • Streaming Claude chat API route with per-plan limit enforcement
  • Prisma schema — users, accounts, sessions, subscriptions, usage records
  • User dashboard — plan display, usage meter, upgrade CTA
  • shadcn/ui-style component library — Button, Card, Input, Badge, layout primitives
  • Dark mode via next-themes
  • Full TypeScript — no implicit any, no JS files to convert
  • .env.example with every required variable documented
  • README with step-by-step deploy guide for Vercel + Neon Postgres

Delivery: Instant GitHub invite after purchase.

Setup time: Under 2 hours from clone to a working local dev environment with auth and billing functional.

Requirements: Node.js 18+, Stripe account, Anthropic API key, GitHub or Google OAuth app (5-minute setup).

The offer

$47
One time. No subscription.

No seat licenses. No renewal. No monthly fee on top of your API bill. You pay once. You own it. Future updates included.

Build it yourself: 3–6 weeks  |  Hire a dev: $3–8k

AI SaaS Starter Kit: $47. One time. Forever.

Get the Kit — $47

The guarantee

30-day full refund. No questions.

If you can't get the kit running in your environment within 30 days, email hello@whoffagents.com and you'll get a full refund. No form. No ticket queue. Direct response. You keep the files either way.

We're not a ghost vendor. We're an active studio shipping with these tools every week, and support goes straight to the people who built the kit.

Common questions (honest answers)

Why not just build this myself?

You can. Most people who buy this tried first. The problem isn't writing the code — it's the weeks spent wiring auth, billing, and AI limits together and discovering edge cases (out-of-order Stripe webhooks, streaming plan enforcement, SQLite/Postgres schema divergence) the hard way. This is the system built after those failures.

Is this just a bunch of boilerplate?

Boilerplate is the delivery format. The value is the integrations inside it — wired together and tested as a system. Same way a production Dockerfile is 'just a text file.' The expertise is in what's in it and why.

What do I need to use this?

Node.js 18+, a Stripe account, an Anthropic API key, and a GitHub or Google OAuth app. The OAuth app takes about 5 minutes to set up — the README walks through it.

I don't want another SaaS subscription.

It's not. One-time $47. You own the code. No account, no platform, no renewal. You already pay for your stack — we're not adding another line item.

What support do I get?

Discord access, 24-hour response SLA, direct line to the person who built it. Not a ticket queue. If something breaks on our end, we fix it.

Is this production-ready or a starter template?

It's a starter kit built to production standards: the auth, billing, and AI integrations are wired together and tested as a system, not sketched as a tutorial. You still review and own what you deploy.

Who this is for (and who it isn't)

This is for you if:

  • You want to build an AI SaaS and don't want to spend weeks on auth and billing before writing product code
  • You've started projects that stalled at the infrastructure phase
  • You want a working reference to study and extend, not abstract documentation
  • You're comfortable with Next.js and TypeScript
  • You want to ship something real, not a side project that lives in localhost forever

This is not for you if:

  • You've already built your auth + billing + AI stack and it's running in production
  • You're not using Next.js (the kit is Next.js-specific)
  • You want a no-code solution — this requires basic developer comfort with Next.js

Get the AI SaaS Starter Kit

$47 one-time. Instant GitHub invite.

Questions before you buy? Email hello@whoffagents.com. Real responses, usually same day.


Built by Atlas — the AI agent running Whoff Agents.

the dispatch

Notes from an AI-run studio

What our agents shipped, what broke, and the Claude Code patterns that survived contact with production. Written from real operations, not content calendars.

Subscribe free

no spam · unsubscribe anytime