Every SaaS product needs the same foundation: user authentication, payment processing, an admin panel, database models, and deployment configuration. Building that foundation from scratch takes weeks. Debugging it takes longer. And none of it differentiates your product from the competition — it is table stakes that your users never see but your timeline always feels.
ShipKit is a production-ready FastAPI boilerplate that ships everything a SaaS backend needs on day one. It is not a tutorial project or a minimal example. It is the exact architecture that powers six shipped Wigley Studios products — extracted, documented, and packaged so you can start building what actually matters instead of reinventing auth flows and webhook handlers.
What Ships in the Box
ShipKit is built on FastAPI, Python's typed async framework, with MySQL via SQLAlchemy for persistence. Every component has been tested under real production traffic across multiple products, not just in a demo environment.
The core package includes:
- JWT authentication with rotation-ready secrets — protected route guards, token refresh, and a dual-key design that lets you rotate secrets without invalidating every active session.
- Stripe Checkout integration — payment-mode checkout sessions with proper error handling and webhook signature validation. Not a toy integration; the same code that processes real transactions across Wigley Studios products.
- Admin panel foundation — operator dashboard patterns with session-based auth, customer management views, and the structural scaffolding for adding product-specific admin pages.
- MySQL + SQLAlchemy models — typed ORM patterns, migration-ready schema design, and connection pool configuration sized for real workloads.
- Structured project layout — modular FastAPI routing with dependency injection, lifespan management, and clear boundaries between API modules.
Starter vs Professional
ShipKit comes in two tiers. Starter gives you the core backend architecture. Professional adds everything needed to deploy, scale, and operate in production.
| Capability | Starter | Professional |
|---|---|---|
| FastAPI structure & routing | ✓ | ✓ |
| JWT auth & protected routes | ✓ | ✓ |
| Stripe Checkout (payment mode) | ✓ | ✓ |
| Admin panel foundation | ✓ | ✓ |
| MySQL + SQLAlchemy models | ✓ | ✓ |
| VPS deploy scripts (systemd + nginx) | — | ✓ |
| CI/CD pipeline templates | — | ✓ |
| Multi-tenant scaffolding | — | ✓ |
| Redis caching & session helpers | — | ✓ |
| Background worker queues | — | ✓ |
| Rate limiting middleware | — | ✓ |
| Transactional email integration | — | ✓ |
The Professional tier also includes GitHub repository access, so you can track updates and reference the codebase directly.
Architecture Decisions Worth Noting
A boilerplate is only as good as the decisions baked into it. ShipKit reflects patterns that survived real production traffic — not hypothetical best practices from blog posts.
Dual-Key JWT Rotation
ShipKit's JWT implementation supports a primary and fallback secret key. When you rotate secrets, the old key continues validating existing tokens while new tokens are signed with the new key. No mass logout, no session disruption, no emergency deployment to fix a key change that went wrong.
Webhook Idempotency
Stripe sends duplicate webhook events. ShipKit's webhook handler validates signatures, deduplicates events, and processes them with retry logic. Events that exceed retry limits go to a dead-letter state for manual review rather than being silently dropped. This is the same pattern that handles real payment processing across Wigley Studios products.
Deploy Scripts (Professional)
The Professional tier includes systemd service definitions and nginx reverse-proxy configurations for VPS deployment. These are not generic templates — they are the actual configs used in production, with connection pool sizing, SSL termination, and health check endpoints already configured.
Built From Six Production Apps
ShipKit is not a framework designed in isolation. It was extracted from the backend architecture shared across six Wigley Studios products: PromptUI, PicSift, PostPilot, ShipKit itself, Chiave, and the Developer Labs platform.
Every pattern in ShipKit — the auth flow, the webhook handler, the admin scaffolding, the rate limiter — exists because a real product needed it and a real deployment validated it. When something did not survive production (overly clever abstractions, premature optimizations, framework magic that broke under load), it was removed.
What This Means in Practice
You are not starting from a tutorial. You are starting from the architecture of products that handle real Stripe transactions, serve real API traffic, and run on real infrastructure. The gap between “boilerplate code” and “production code” is already closed.
Pricing
Both tiers are one-time purchases. No subscription, no recurring fees. You get perpetual access to the version you purchase.
Starter
Core boilerplate: FastAPI structure, JWT auth, Stripe Checkout, admin foundation, and MySQL models. Everything you need to start building your SaaS backend immediately.
Professional
Everything in Starter plus VPS deploy scripts, CI/CD pipelines, multi-tenant scaffolding, Redis, background workers, rate limiting, transactional email, and GitHub repo access.
Both tiers include a 14-day money-back guarantee and 30 days of email support. If you start with Starter and want to upgrade later, contact support for a difference-priced upgrade checkout.
Skip the Setup
Auth, billing, admin, and deploy — already built, already tested, already shipping. Start building what makes your product different.
Explore ShipKit