Sole author · 2026
Recipe Finder
Upload PDF, EPUB, or TXT cookbooks, extract the recipes, and search them by what is in your pantry.
- FastAPI
- PostgreSQL
- Redis
- React
- TypeScript
- Docker
Problem
Recipes inside cookbook files cannot be searched or filtered. The app needed background ingestion, private storage by default, and ingredient matching done on the server.
What I built
- A FastAPI, SQLAlchemy, and PostgreSQL backend with Redis and ARQ ingestion jobs, a versioned /api/v1, and JWT access tokens with rotating HttpOnly refresh cookies.
- A React and TypeScript client for search, filters (time, cuisine, cookbook, number of missing ingredients), and pantry matching.
- Docker Compose deployment with PostgreSQL and Redis kept off the public network, a non-root production image, and startup checks that reject placeholder signing keys.
Results
- cookbook formats
- PDF, EPUB, TXT
- rotating refresh cookies
- JWT
Limits
Model-based recipe extraction is optional and sends cookbook text to an outside provider. Without it, the app uses simpler local parsing.