Learn Build a Real SaaS with Claude Code
🏪 Intermediate

Build a Real SaaS with Claude Code

A start-to-finish build-along: ship a real, working SaaS product -- a local business reputation dashboard -- using Claude Code at every step. Auth, a real schema, a core feature, Stripe billing, transactional email, tests, deployment, security hardening, and a real production bug found and fixed live.

📚 25 lessons 🕐 576 min total ✓ Free
01
Scoping the MVP with Claude Code
Turn a one-line product idea into a concrete, buildable spec before writing a single line of code -- the discipline that separates a real build-along from a one-shot generation.
🕐 22 min
02
CLAUDE.md and Project Setup
Turn lesson 1's spec into persistent project memory -- a CLAUDE.md Claude Code reads automatically every session, so conventions and constraints do not have to be re-explained from scratch.
🕐 20 min
03
Scaffolding the Stack
Go from an empty directory to a Next.js, Tailwind, and Drizzle project with a real Postgres schema -- the actual commands and files the reference build used to get there.
🕐 24 min
04
Git and PR Workflow with Claude Code
Why this build is thirteen small, reviewed commits instead of one giant generation -- and how to review Claude Code's own diffs as you go instead of trusting a single mega-prompt.
🕐 20 min
05
Supabase Auth
Wire up real business-owner accounts and sessions with Supabase Auth's SSR pattern -- three clients for three Next.js contexts, plus the credentials you need to obtain yourself before any of it runs.
🕐 26 min
06
Schema Design with Claude Code
Design the businesses, reviews, and responses tables with Drizzle ORM -- enums, foreign keys, indexes for the queries you will actually run, and a deliberate single-tenant scope.
🕐 24 min
07
Data Access Patterns
Build the server-side read and write layer for the schema from lesson 6 -- a shared db client tuned for serverless, reusable query functions, and Server Actions that enforce authorization on every mutation.
🕐 24 min
08
API Routes for Review Ingestion and Responses
Build the three Route Handlers that move reviews in and out of the dashboard: listing with filters, ingesting new reviews, and posting owner responses.
🕐 28 min
09
UI Components for Dashboard List and Detail Views
Build the dashboard list view and review detail page, and three small reusable components -- SourceBadge, StarRating, and StatusBadge -- that keep the visuals consistent everywhere a review appears.
🕐 24 min
10
State Management: Filtering and Sorting
Understand why this dashboard filters and sorts hundreds of reviews with zero client-side state libraries, and when that restraint stops being the right call.
🕐 20 min
11
End-to-End Wiring: The Respond Flow
Connect the detail page, a client form, and a Server Action into one working feature, and learn why this app has both a REST endpoint and a Server Action that do almost the same thing.
🕐 26 min
12
Stripe Integration: Free vs. Pro Tiers
Set up a free Stripe test account, define a Pro price, and build the Checkout flow that upgrades a business -- plus the review-limit logic that makes Free vs. Pro mean something.
🕐 30 min
13
Stripe Webhooks: Subscription Lifecycle
Wire up the Stripe webhook endpoint that is the real source of truth for subscription state, verify it locally with the Stripe CLI, and add the Billing Portal for self-serve plan management.
🕐 28 min
14
Transactional Email with Resend
Send negative-review alerts the moment a bad review comes in and a weekly digest on a schedule, using Resend -- with a free account, an API key, and either a verified domain or the sandbox sender.
🕐 26 min
15
Error and Loading States
The core feature now works end-to-end -- this lesson adds the App Router conventions that keep the dashboard from feeling broken the moment a request is slow or fails.
🕐 18 min
16
Responsive Design Pass
A pass over the dashboard's real Tailwind classes to make the header and layout hold up on a phone screen, without adding a second design system for mobile.
🕐 16 min
17
AI-Assisted Testing for This App
The difference between asking Claude Code for any tests and asking for tests that catch real bugs, using this app's Vitest unit suite and Playwright e2e suite as the real example.
🕐 20 min
18
Code Review Patterns for This Stack
A generic AI code review prompt misses what actually breaks a Next.js/Stripe/Supabase app -- this lesson builds a stack-specific review checklist around this app's real risk areas.
🕐 19 min
19
Deploying to Vercel
The exact steps to get this app live on Vercel -- a free account, the env vars it actually needs, and why migrations are deliberately not part of the build.
🕐 21 min
20
Production Environment Management
Development, preview, and production need different secrets pointed at different services -- how Vercel scopes environment variables, and the CLI workflow for managing them without leaking one environment into another.
🕐 18 min
21
Monitoring and Error Tracking
The reference app has no monitoring wired in yet -- this lesson covers Sentry's official Next.js integration as the real next step before trusting this app with real customer data.
🕐 17 min
22
Auth Security Review
The dashboard has polish, tests, and is deployed -- now audit every auth check in the app, the way a security reviewer would, and confirm none of them are decorative.
🕐 24 min
23
Rate Limiting and Input Validation
Auth answers who is allowed in -- this lesson covers what happens once they are: capping request volume per caller and rejecting malformed input before it reaches the database.
🕐 22 min
24
The Debugging Story: Customers Silently Downgraded
A real production bug: resubscribed Pro customers got silently knocked back to Free. Walk the full investigation -- including a first fix that was itself wrong, caught by a test before it shipped.
🕐 33 min
25
Capstone: Full Review and What's Next
Twenty-five lessons, one real SaaS product. A full recap of what got built, and the two biggest extensions -- multi-tenancy and real review-platform API integration -- if you want to take it further.
🕐 26 min
Start Lesson 1 →