Designed Recipe Lab around immutable recipe versioning: every variation becomes a new version linked to its parent, preserving the starting recipe while making ingredient, quantity, instruction, and metadata changes easy to compare. Built catalog search and filtering, recipe detail pages, lineage navigation, saves and ratings, a structured variation editor, and before-and-after recipe comparisons.
Developed the backend with Python, FastAPI, SQLAlchemy, PostgreSQL, and Alembic, including relational constraints, idempotent writes, reproducible seed data, and structured APIs. Added a secure OpenID Connect Authorization Code and PKCE account foundation with opaque application sessions, CSRF and Origin protection, onboarding, session revocation, and sensitive-data log redaction.
Built the responsive frontend with Next.js, React, and TypeScript, including a same-origin API proxy, accessible account and recipe workflows, mobile layouts, keyboard navigation, clear loading and error states, and honest shared-demo messaging during the staged transition to account-owned activity.
Created an offline recommendation and evaluation system that compares popularity, content-based, collaborative, and hybrid approaches using fixed data cutoffs, privacy guardrails, deterministic reports, and readiness gates. Also developed a curated ingredient-substitution rules engine with hard dietary and allergen constraints, explainable rankings, and explicit safety limitations.
Containerized the application with Docker Compose and built automated quality gates with GitHub Actions. Added backend, frontend, migration, accessibility, security, and full-browser acceptance coverage using pytest, Vitest, Playwright, and Axe.