← Work

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.