Flask Vibe Tutorials
Learn Flask + PostgreSQL + Vanilla JS through practical examples
Filters
Deploying Flask to Railway
Take your Flask + PostgreSQL app from localhost to a live Railway deployment. Covers Procfile, gunicorn, managed database setup, and environment variables.
Transactional Email with Resend
Send welcome emails, password resets, and notifications from Flask using the Resend API. Keep your routes thin with a reusable utils/email.py helper.
Pagination: OFFSET and Cursor-Based
Add page-by-page navigation to any Flask listing with LIMIT/OFFSET, then level up to cursor-based pagination for high-performance lists that never slow down.
Full-Text Search with PostgreSQL
Add powerful search to your Flask app using PostgreSQL's built-in tsvector and tsquery — no Elasticsearch, no extra service, no extra cost.
Testing Flask Routes with pytest
Write reliable tests for your Flask routes using pytest and Flask's built-in test client. Covers fixtures, test databases, JSON assertions, and mocking external APIs.
Building a JSON REST API
Build a clean JSON API in Flask with consistent response envelopes, API key authentication via database lookup, and proper HTTP status codes.
Password Reset Flow
Build a complete forgot-password flow: generate a secure time-limited token, email a reset link, validate it, and update the password safely.
Role-Based Access Control with Decorators
Build @login_required and @admin_required decorators from scratch. Understand how functools.wraps works and how to stack decorators cleanly.
Background Tasks with Celery and Redis
Run slow operations (emails, AI calls, report generation) in the background without blocking your Flask responses. A complete Celery + Redis setup.
File Uploads with Validation
Handle file uploads safely in Flask: validate file types and sizes, use secure_filename, save to disk, and store the path in PostgreSQL.
Webhook Handling: Stripe and GitHub
Receive and verify webhooks from Stripe and GitHub. Covers signature verification, idempotency, and fast response with background processing.
Localization with Flask-Babel
Translate your Flask app into multiple languages using Flask-Babel. Covers string extraction, .po files, locale detection, and a language switcher.