A ready-to-deploy boilerplate for building micro-SaaS products with Python.
- SQLite WAL mode — fast, zero-config database with concurrent reads
- User auth — register/login/logout with SHA-256 password hashing
- API keys — auto-generated per user for programmatic access
- Per-tier rate limiting — free (10/h), pro (100/h), unlimited
- Stripe-ready — checkout integration skeleton included
- systemd deploy — no Docker, no gunicorn, just
systemctl start myapp - Admin dashboard skeleton — user management, metrics
# 1. Clone
git clone https://github.com/clementslowik/flask-saas-starter.git
cd flask-saas-starter
# 2. Run
python3 app.py
# 3. Open http://localhost:5000
# 4. Deploy to production
cp systemd/myapp.service /etc/systemd/system/
systemctl enable --now myapp├── app.py # Main application (single file, ~200 lines)
├── data.db # SQLite database (auto-created)
├── systemd/
│ └── myapp.service # systemd unit file
└── README.md
# Register
curl -X POST http://localhost:5000/register \
-d "email=me@example.com&password=secret123"
# Get your API key from /dashboard
# Use the API
curl http://localhost:5000/api/example \
-H "X-API-Key: sk_your_key_here"- Add your own routes in
app.py - Add tables to
init_db() - Set
SECRET_KEYenvironment variable - Add Stripe keys for billing
- Python 3.12+
- Flask
- SQLite (WAL mode)
- systemd
- No external dependencies beyond Flask
MIT — use it for anything.
Part of the foxyyy ecosystem.