Django SaaS

Django SaaS course cover

Next on the path · Ship a SaaS app · See all steps

Build a real SaaS. Think in systems, own what you ship.

You build Signoff, a multi-tenant content workflow app: Django, HTMX, a tested approval state machine, and an API an AI agent can use without ever bypassing human approval. In six weeks you go from domain model to deployed app, using AI where it helps and your own judgment where it matters.

6 weeks · Python, Django, HTMX · self-paced · €99 one-time

Getting it to work is the easy part. Keeping it working is the job.

Signoff is a content calendar for developers and small teams who publish regularly. Posting rules give every channel owned weekly slots, and nothing goes out until a teammate signs off, with comments and change requests much like a pull request review. It's modeled on the content tool I run my own publishing on, cut down to what you can build and understand in six weeks.


Why this app

Most practice projects stop at CRUD. Signoff has the patterns real products are made of, in one codebase small enough to finish in six weeks.

A workflow as a state machine

Draft, review, approved, published. An author can't approve their own post. The same pattern runs orders, tickets, invoices and deployments.

Real multi-tenancy

Organizations, an org switcher, and every query scoped to the active org. Tests prove a user in one org gets a 404 on another org's data. A common pattern in B2B SaaS.

Posting rules that fill the calendar

"LinkedIn every Tuesday, Alice owns it." A sync turns rules into open slots, is safe to run twice, and never deletes a slot someone started writing.

An API with an optional AI plugin

Hashed, per-user tokens. Build a Claude skill that fills open slots with drafts, or keep writing by hand. The API can never approve or publish.

A calendar that feels like an app

Drag posts between days, add one from any day, review inline, switch to dark mode. Server-rendered Django and HTMX, no JS framework.

Shipped, not localhost

Docker, Fly.io, CI that deploys only when tests are green, error tracking and backups. A live URL you can show.


Use AI. Keep your engineering judgment.

Write the code yourself, with an agent, or both. Either way, deciding what the system should do, and checking that it does it, stays with you.

  1. Weeks 1-2: the core.The domain model and the review workflow as a pure state machine, with business rules kept out of Django. Small enough to study closely, and everything after it depends on it.
  2. Weeks 3-6: the framework around it.Views, HTMX, tenancy, the API and the deploy. This is where an agent saves the most typing, and where it most easily breaks a rule from the core.
  3. Tests every week, plus your own.The suite is the spec. You add your own tests and look for what it doesn't cover.
  4. Planted failure cases.A query that leaks another org's data, an API that can publish, hardcoded settings. Learn the mistake behind each one, and make sure a test catches it.
  5. A decision record per week.What you chose, the alternative, and why. This is where the engineering judgment gets trained.

The bar for done: green tests, clean ruff and ty, and you can explain the important decisions and code paths, whoever typed them.


Six weeks, one deployed app

WeekYou buildYou decide
1Domain model: channels, posts, workflow states, adminWhat belongs in the data model
2The review workflow as your own tested state machineWhy domain rules live outside views, and own code vs a library
3Calendar, posting rules and slot sync, drag and drop, HTMX reviewsServer-rendered vs a JS frontend
4Organizations, membership, org-scoped queriesShared database vs one per tenant
5A token-scoped JSON API, plus an optional Claude plugin that fills open slotsWhat a plugin may do, and what stays human
6Docker, Fly.io, CI/CD, error tracking, backupsThe simplest database that meets your needs (SQLite as the example)
Bonus (optional)Tasks per handoff, attachments, email notifications via ResendEmail in the request vs a background job

What you get

Self-paced

Build it at your own pace

  • Lessons, test suites and hints for all six weeks, plus the bonus week
  • Bonus: my Claude Code setup (CLAUDE.md, skills and settings) to steer an agent through the build
  • Weekly knowledge checks
  • The full reference solution, unlocked after your last week
  • Lifetime access and updates
€99 incl. VAT · one-time

Everything you build is yours, including commercial use.

Who is this for?

You know Python, uv, git and pytest (the Foundations course covers all four), and you want to build something bigger than a script. No Django experience needed. Whether you write the code yourself, with AI, or both, you want to understand it well enough to own it.


In six weeks, you ship a deployed, production-minded SaaS and can explain every decision in it.

Rather build your own project with me? Scope it with ScopeFirst or book a call →