ShipKit is the production-ready FastAPI boilerplate distilled from six shipped SaaS products—auth, billing, admin, database, and deployment patterns you can run on day one.
The same architectural decisions behind our public APIs, customer portals, and admin dashboards—packaged so you can ship with confidence.
“We optimized for operational safety: rate limits, webhooks, and atomic billing paths—because that is what survives real traffic.”
“JWT rotation, Redis-backed session patterns, and Stripe Checkout flows that match how modern SaaS actually collects money.”
“Deploy scripts and CI templates that mirror how we ship updates without taking the site down.”
Start lean with the core stack—upgrade to Professional when you want multi-tenant primitives, workers, and production deploy automation.
| Capability | Starter | Professional |
|---|---|---|
| FastAPI application structure & routing | ||
| JWT authentication & protected routes | ||
| Stripe Checkout (payment mode) | ||
| Admin panel foundation | ||
| MySQL + SQLAlchemy models | ||
| VPS deploy scripts (systemd / nginx patterns) | — | |
| CI/CD pipeline templates | — | |
| Multi-tenant scaffolding | — | |
| Redis caching & session helpers | — | |
| Background worker queues | — | |
| Rate limiting middleware | — | |
| Email over SMTP, with the password-reset message | ||
| Queued transactional email (welcome and receipt templates, retried) | — |
A straight-line path from API to revenue-ready operations—each block maps to real modules you can extend.
Illustrative structure—not your download source—showing how endpoints stay small and configuration stays explicit.
from fastapi import APIRouter, Depends from .schemas import CreateCheckoutBody from .deps import get_current_user router = APIRouter(prefix="/billing", tags=["Billing"]) @router.post("/checkout/session") async def create_checkout_session( body: CreateCheckoutBody, user: User = Depends(get_current_user), ): # Stripe Checkout Session (payment mode) + server-defined return URLs session = await stripe_service.create_checkout_session( customer_id=user.stripe_customer_id, price_id=body.price_id, mode="payment", ) return {"client_secret": session.client_secret}
Download our PDF: How We Structured 6 Production SaaS Apps—folder layout, boundaries, and lessons learned.
We will email you the overview. Nothing else is sent to this address; it is kept only as a record of the request (privacy policy, section 2.1).
Core API, JWT auth, Stripe Checkout, admin foundation, and MySQL models.
Everything in Starter plus deploy automation, CI/CD, multi-tenant patterns, Redis, workers, rate limits, and email.
Refundable within 14 days until your first download or, on Professional, until you accept the GitHub invitation; after that the sale is final unless a file is faulty (refund policy).
Everything you need to know before you buy.
If you have not downloaded the kit yet (or, on Professional, accepted the GitHub invitation) and it is not a fit, email support@wigleystudios.com within 14 days of purchase for a full refund. Once you use your first download or accept the invitation, the sale is final, unless a file is faulty, in which case we fix it or refund you. You confirm this with a tick box before paying. Details are in our refund policy.
You receive a licence to use the boilerplate as a foundation for your own products and client work: modify it, rebrand it, ship what you build with it. The licence in the kit (LICENSE.md) sets the terms, and where it differs from our Terms of Service on the kit itself, the licence governs. Reselling or redistributing the kit as a boilerplate product is not permitted.
Your purchase includes updates we publish for your tier during the support window. Major version bumps may be offered separately. You can download the version you purchased up to 10 times, and the licence to use it never expires.
After payment, Stripe confirms your session and we email a secure download link to the address you used at checkout. Professional tier purchasers also receive GitHub repository access instructions.
30 days of email support is included with every purchase. Professional customers can also have access to the private GitHub repository: reply to the purchase email with your GitHub username.
Yes—contact support@wigleystudios.com with your purchase email and we will send an upgrade checkout for the price difference.