KitchenLab

KitchenLab is a full-stack cooking agent built on a strict trust split: the model phrases and personalizes, but temperatures, gram conversions, and safety facts always come from Python calculators, USDA tables, and retrieved passages with claim-level citations.

Ongoing
In Progress
KitchenLab screenshot

Overview

Most cooking assistants hallucinate measurements. KitchenLab doesn't. Facts flow through code first — brine math, baker's percentages, internal temps, allergen checks — and OpenAI only turns those results into clear teaching, recipes, diagnoses, and substitution advice.

The app is live at kitchen-lab-tau.vercel.app. Production runs on Vercel (Next.js frontend), Render (FastAPI backend in Docker), and Neon Postgres with pgvector for relational data and semantic retrieval. Recipe covers use the Unsplash API with attribution; experiment photos use a storage layer that works locally or on S3. Locally, the same roles map to Docker Compose on ports 3001 and 8000.

Six agent modes span the workflow: learn (grounded Q&A and techniques), cook (annotated recipes with USDA floors enforced after generation), adapt (standardized measures in Python), diagnose (symptom taxonomy with evidence-ranked causes), substitute (function-aware swaps), and experiment (controlled trials with notebook entries and photos). Signed-in users get a kitchen profile — oven offset, elevation, equipment, allergies — that personalizes cook, adapt, and substitute.

An eval harness encodes trust contracts as pytest scenarios (e.g. chicken below 74°C is raised to the USDA floor; teaspoon salt isn't scaled to cup grams). Diagnosis scoring is deterministic; the LLM only maps free-text to supports or contradicts. The repo also ships an optional AWS/Terraform reference architecture under infra/.

StatusIn Progress
TimelineOngoing
Technologies11
Nguyen Le - Portfolio