Elle À Table Cooking Bot
Architect & Lead Developer
Oct 2025
Archived
A safety-first AI cooking assistant for 35,000+ French recipes
- Gemini
- spaCy
- Qdrant
- PostgreSQL
- TypeScript
- Bun
- Hono
- React
- SST
- Kubernetes
- Gemini TTS
- Recipes processed
- 35,000+
- Allergen detection
- 100% deterministic
- Parsing accuracy
- 99.9%
Built for CMI Group as the engine behind Elle À Table’s AI cooking assistant: a conversational agent that helps users find recipes, adapts instructions to their skill level and allergies, and guides them hands-free with generated audio while they cook.
Why safety came before AI
The starting constraint: a wrong answer about allergens can hurt someone, so LLMs were never trusted with that decision. Allergen detection and dietary classification run on a deterministic, rule-based engine (keyword matching, known derivatives, hidden sources, even E-number cross-referencing) that’s 100% auditable and never hallucinates. LLMs are used only where being wrong is cheap: enriching missing metadata, parsing messy ingredient text, and holding a natural conversation. That split, rules for anything safety-critical and LLMs for everything else, is the core architectural decision the rest of the system follows.
What I built
- A 9-stage recipe processing pipeline that took 35,000 real-world, inconsistently formatted French recipes (mixed units, missing fields, regional phrasing) to 99.9% parsing accuracy, with a quality-based router that sent clean recipes through a cheap direct-conversion path and only ran expensive spaCy NLP on the messy 30-40%, cutting processing cost by 60-70%.
- Dual-vector semantic search: a “semantic” embedding (region, season, cooking method) and a separate “ingredients-only” embedding, so “Italian summer recipes” and “I have tomatoes and basil” both route to the right kind of similarity search.
- A tool-using conversational agent with a two-tier preference system (persistent user allergies vs. per-conversation constraints like “cooking for 10 tonight”), enforced tool-call ordering so allergen filters always apply before a search runs, and full Langfuse observability on every LLM call.
- On-demand voice-guided cooking mode: step-by-step audio generated in parallel via Gemini TTS, deduplicated with an in-memory mutex so concurrent requests for the same recipe don’t trigger duplicate generation, stored as raw PCM and converted to WAV only when played.
Role and status
I owned the architecture and led development end to end: data pipeline, backend, search, and the conversational runtime. The system reached production-grade quality (accuracy, safety guarantees, cost profile all validated against real data) but the project was shelved before public launch, a business decision unrelated to the engineering. I’m including it because it’s the clearest example of applied, safety-conscious LLM system design in my portfolio, not despite the fact it never shipped.
Articles about this project
Real-Time AI Conversations and Audio Processing
Deep dive into our runtime LLM architecture, speech synthesis pipeline, and observability systems that power conversational cooking guidance.
14 min read
The Sophisticated Recipe Processing Pipeline
How a 9-stage pipeline processes 35,000+ recipes: quality-based routing, dual-path ingredient parsing, multi-layer allergen detection, and dual-vector embeddings.
15 min read
Safety-First AI for Food Systems
Building deterministic safety layers with hybrid NLP, streaming architecture, and rule-based allergen detection for health-critical AI applications.
6 min read
Working on something similar?
Happy to go through the technical details, or look at the same problem in your system.
Book a call