SaaS Stack

Founder pricing for the first 50 buyers

Skip to the part only you can build.

SaaS Stack is a SaaS that already works: sign-in, teams, payments, emails, an admin panel, a phone app and a one-command deploy. Give it your name and spend your time on your idea, with a coding agent that knows its way around.

Any browser, with React, Vite and TanStack
The web app: a greeting, a get-started checklist, the plan with its usage, and system statusThe web app: a greeting, a get-started checklist, the plan with its usage, and system status

Real screens from the kit. Click through them yourself in the demo.

Already built

The first month of every SaaS, already done.

Every piece works, is tested and is documented. Sign up in the live demo and click through all of it.

  • Sign-in

    Passwords, magic links, Google and GitHub, with email verification and resets.

  • Payments

    Stripe or Polar. Plans, upgrades, receipts, a billing portal, and features locked by plan.

  • Teams

    Invitations and roles. Or personal accounts only, with one switch.

  • Emails

    Welcome, verification, invitation, receipt and reset emails, sent through a queue.

  • An admin panel

    Find any customer, see their plan, and sign in as them to help.

  • A phone app

    iOS and Android with Expo, on the same API, ready for the stores.

  • An AI feature

    A streaming assistant, limited by plan and counted per message.

  • A marketing site

    Landing page, pricing read from your plans, a blog, and SEO.

  • Background jobs

    Anything slow or scheduled, with retries, so nothing gets lost.

  • The boring, vital parts

    Notifications, audit log, API keys, error reports, analytics and traces.

  • Tests you can trust

    API tests on a real database and browser tests on the real build.

  • Deploy

    One command puts the database, API, apps and site on Railway or AWS.

The whole list, with how each part works, is in the docs. They are public.

The stack

Every layer chosen, wired and tested.

Mainstream tools you can hire for and find answers about, in one TypeScript monorepo. Where there is a real choice, like the ORM or the payment provider, you get it as a setting.

Foundation

Runtime
BunRuns the API, the tests and every script
Monorepo
Bun workspacesAPI, web, mobile, site and contracts
Contracts
ZodOne schema per request, shared by every app
Language
TypeScript, ESMStrict, end to end
Lint and format
Oxlint + Prettier

API

Framework
NestJS 12Modules, guards and services, on Express
Database
Postgres
ORM
Drizzle, Prisma or TypeORMPicked with one setting
Auth
Better AuthSessions, OAuth and organizations
Jobs
BullMQ on RedisFed from an outbox in Postgres
Realtime
WebSockets + RedisAcross any number of instances
Notifications
In the app, push and emailLive, sent where each person chooses
Logging
PinoJSON lines with the request and trace

Web app

Build
Vite + React
Routing
TanStack RouterTyped routes, file based
Data
TanStack Query
UI
Tailwind + shadcn/uiOn Radix, with Lucide icons
Forms
React Hook FormValidated with the API’s schemas

Mobile app

Framework
Expo + Expo RouteriOS and Android from one codebase
Push
Expo Notifications
Builds
EASBuilds and store submissions

Marketing site

Framework
Astro + MDXStatic pages and a blog
OG images
SatoriOne drawn for every page and post
SEO
Static HTML + sitemapTitles, descriptions, canonical links and structured data

Services

Payments
Stripe or PolarPicked with one setting
Email
React Email + SMTPAny provider; Mailpit locally
AI
Vercel AI SDKAny model through AI Gateway
Errors
SentryAPI, web and mobile
Tracing
OpenTelemetryRequests, jobs and queries
Analytics
Mixpanel or PostHogPicked with one setting

Testing and deploy

Tests
bun testAgainst a real Postgres and Redis
Browser
PlaywrightJourneys through the production images
Phones
MaestroFlows on iOS and Android
CI
GitHub Actions
Deploy
Docker + Railway or AWSInfrastructure as code, Caddy in front

Your part

Describe your product. Your agent builds it the way the kit is built.

AI can write code. What it cannot guess are your conventions. SaaS Stack has them written down, and a skill that plans your product around them.

  1. 1

    You describe it

    Your idea in plain words, to Claude Code, Cursor or Codex. It asks only what changes the build: who signs up, and what you charge for.

  2. 2

    You approve the plan

    It writes PRODUCT.md: each part of your idea, the piece of the kit that builds it, and what the kit has no pattern for yet. No code until you say go.

  3. 3

    It builds, and proves it

    One small slice at a time, with skills for resources, paid features, emails, jobs and AI. Each slice passes bun run check and the browser tests before the next.

  4. No agent? It is a normal codebase, with 45 pages of docs.
claude · ~/my-saas
> Turn this into an uptime monitor. Check my URLs every  few minutes, and email me when one goes down.● Using skill: start-product  Personal accounts or teams? personal  Free: 3 monitors. Pro, $12: 50, checked every minute.+ PRODUCT.md● Pieces  monitors               add-resource  checks on a schedule   add-job  down and up alerts     add-email  1-minute checks        gate-feature● Doesn’t fit the kit  monitors per plan: no pattern yet, 2 options● Plan ready. Change it, or say go.> go$ bun run check  ✓ slice 1 of 5: name, plans · all tests passed

Consumers or companies

B2C or B2B. One switch.

Workspaces are built on Better Auth organizations, and everything belongs to one in both modes. Start with personal accounts and turn on teams the day a customer asks, with no data migration.

Personal accounts

B2C

// packages/contracts/src/app.ts
teams: false

  • Sign up and start using it, no "create a workspace" step
  • Each person gets a workspace of their own, and never sees it
  • URLs like /app/settings/billing
  • Flat pricing: one price per account

Teams

B2B

// packages/contracts/src/app.ts
teams: true

  • Workspaces with a switcher and a members page
  • Email invitations, owner / admin / member roles
  • URLs like /w/acme/settings/billing
  • Per-seat pricing that follows the team, with seat limits per plan

Click around before you buy.

The live demo is the kit running as a product, with every feature unlocked. Sign up, ask the assistant, read the audit log, and look through every screen. Nothing is charged.

Open the live demo →

Built with SaaS Stack

A real product, live in under two days.

Postship audits apps built with AI, watches them every minute and checks every deploy. It started from this kit on October 15, 2026, and was live on its own domain the next day.

Postship’s home page: “Building your app was the easy part.”, with an example scan scoring 96

Postship

AI built your app. Postship tells you if it’s ready, and keeps watching it.

Who made it

Michael Guay

Michael Guay

Builds and teaches this stack

Built by someone who teaches this stack

I am Michael Guay. Every piece of SaaS Stack, from NestJS and Drizzle to Expo and Railway, is something I teach, and my courses are at learn.michaelguay.dev.

The kit is that knowledge as one codebase: tested, documented for people and agents, and kept up to date release after release. Founders get help in the private Discord and on GitHub.

  • 4.6

    from 2,000+ Udemy reviews

  • 17,000+

    students

  • 25,000+

    YouTube subscribers

Pricing

One price. Every update after it.

Founder edition

$149once

One payment, yours to keep. This price is for the first 50 buyers; after that it goes up to $249.

Get SaaS Stack · $149

Secure checkout by Polar

What you get

  • The full source in a private GitHub repo, the moment you pay
  • Every update, for life, with upgrade notes
  • Unlimited projects, for you or your clients
  • The private Discord, with help from me
  • Build-along videos as features land
What updates are coming

Questions

Before you buy

What do I get?

Access to the private repo the moment you buy: the whole kit as it is today, and every update after it, each with upgrade notes. Founders keep updates for life.

Can I try it first?

Yes: the live demo is the kit running as a product, with every feature unlocked. Sign up and look around; nothing is charged. The documentation is public too.

Is it for B2C or B2B?

Both. One setting in app.ts picks personal accounts or teams. Everything belongs to a workspace either way, so you can launch with personal accounts and turn on teams later without migrating data.

Why NestJS instead of Next.js API routes?

A SaaS outgrows route handlers quickly. NestJS gives you modules, dependency injection, guards and a structure that stays clean as the product grows, and the web and mobile apps share its typed contracts.

Will my product look like every other one built on it?

No. Tell your agent the look you want, from a few words, a screenshot or your logo, and the redesign skill changes the colors, fonts, corners, logo and app icon in the web app, the phone app, the site and the emails at once, with a test that keeps every color readable. The screens are plain React and Tailwind you own, so you can go as far as you like.

Do I need Claude Code or another agent?

No. The kit is a normal codebase. The AI layer makes agents far more effective in it, but everything works without one.

Can I use it for client work?

Yes, for unlimited projects, commercial or not. You just cannot resell the starter itself as a template.

How is support handled?

Bug fixes and updates in the kit are covered, plus answers in the private Discord. Debugging your own product features is not.

What happens after the 50 founder spots?

The price goes to $249 with 12 months of updates, renewable. Founders keep lifetime updates.

Not ready yet?

Get an email when something new ships. Unsubscribe with one click.