FastAPI · PostgreSQL · Stripe · Azure

Ship your Python SaaS
in a weekend

Auth, Stripe subscriptions, Postgres, Docker, CI/CD and Azure infrastructure, already built and tested. You write the product, not the plumbing.

Get the code → See what's inside

One-time purchase · Build unlimited products · Runs on Azure for under €30/month

32 passing tests Type-checked SQLAlchemy 2.0 Scale-to-zero infra No frontend build step Documented security model

What's inside

Extracted from a production app that takes real payments. Not written for a tutorial.

Auth

Email/password plus Google OAuth via Authlib. Password reset with hashed single-use tokens, JWT revocation on reset, rate limiting per IP, and no email enumeration. The security model is written down in the docs, with a test for each property.

Stripe subscriptions

Checkout, customer portal, and webhook-driven sync. The local database mirrors Stripe the way Stripe recommends, so retries, cancellations and dashboard refunds all work. Gating a route behind payment is one dependency.

Postgres + migrations

SQLAlchemy 2.0 typed models and Alembic migrations that are tested against a real Postgres, not SQLite. The session pattern works in tests, containers and background jobs.

Azure infra as code

Bicep modules for Container Apps with scale-to-zero, Postgres Flexible Server, Key Vault, ACR and Log Analytics. One script deploys everything. A budget alert is wired in so the bill can't surprise you.

CI/CD

GitHub Actions run lint, tests and Docker builds on every push. Infra deploys use OIDC federation, so no cloud credentials are stored in GitHub.

32 tests included

Full auth flows, the whole Stripe webhook lifecycle (subscribe, access granted, cancel, access revoked), rate limiting, token revocation. You can change things without being scared.

Paywall a feature in one line

Two dependencies cover the whole access model: CurrentUser for logged-in users, Subscriber for paying ones. Stripe webhooks keep them honest.

  • 401 for anonymous users
  • 402 until they subscribe
  • Access revoked the moment Stripe cancels
# your_product.py
from app.api.deps import CurrentUser, Subscriber

@router.get("/reports")
def reports(user: CurrentUser):
    # any signed-in user
    ...

@router.get("/reports/export")
def export(user: Subscriber):
    # paying customers only
    ...

Pricing

Costs about half a day of contract work. Saves the weeks of setup.

€199
€149
one-time · launch price
Get FastForge →
  • Full source code (private GitHub repo access)
  • Build unlimited commercial products
  • All future updates to the kit
  • Setup guides: Stripe, Google OAuth, Azure deploy
  • 30-day money-back guarantee

FAQ

Why Azure and not AWS/Vercel?

Nearly every boilerplate targets Next.js and Vercel. If your stack is Python and your company or clients live on Azure, FastForge is built for exactly that. The whole setup runs under €30/month, and close to €0 while idle.

Do I need a frontend framework?

No. FastForge ships dependency-free landing, account, and password-reset pages so you can launch without a build step. The backend is a clean JSON API, so you can add React/Vue/Svelte later without touching it.

Is the auth actually production-grade?

bcrypt passwords, JWT revocation via token versioning, hashed single-use reset tokens, verified-email-only OAuth linking, rate limiting on every auth endpoint, and identical error responses to prevent enumeration. The full security model is documented in the repo.

Can I use it for client projects?

Yes. The license allows unlimited products, commercial or not. The only thing you can't do is resell or republish the boilerplate itself.

What if it's not for me?

Email me within 30 days for a full refund.