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.
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.
›
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.
›
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.
›
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.
›
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.
›
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.
›
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.
›
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.
›
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.
›
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.
›
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.
›
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.
›
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.
›
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.
›
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.
›
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.
›
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.
›
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
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.
›
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.
›
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.
›
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.
›
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.
›
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.
›
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.
›