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 | — | |
| Transactional email service integration | — |
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 the overview and occasional ShipKit updates. Unsubscribe anytime.
14-day money-back guarantee. Refund window closes upon first download.
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.
14-day money-back guarantee. Refund window closes upon first download.
Everything you need to know before you buy.
We offer a 14-day money-back guarantee. If you have not downloaded the kit yet and the product is not a fit, email support@wigleystudios.com within 14 days of purchase. Once you use your first download, the refund window is closed.
You receive a license to use the boilerplate as a foundation for your own products and client work, subject to the terms provided at checkout. Redistribution of the kit as a competing 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 keep perpetual access to the version you purchased.
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 tier customers may reference GitHub for the shipped repository during the access period.
Yes—contact support@wigleystudios.com with your purchase email and we will send an upgrade checkout for the price difference.