Cookbuddy is a spoken recipe finder built for the Project Conversational Agents course at Vrije Universiteit Amsterdam. It turns requests such as “something Italian under 30 minutes, without mushrooms” into filters over a database of roughly 1,000 recipes. The same filters and recipe cards can also be changed by clicking.
The system follows this pipeline:
speech → speech-to-text → BERT intent and slot model → MARBEL dialogue manager → Prolog recipe database → Flask interface
- Fourteen conversation intents, including adding and removing filters, asking for recommendations, confirming a choice and restarting.
- BIO slot extraction for cuisines, ingredients, dietary restrictions, cooking time, meal type and exclusions.
- A Prolog recipe selector that updates the result set as the conversation changes.
- A browser interface with removable filter tags and clickable recipe cards.
- Recovery paths for unclear requests and searches with no matches.
The saved evaluation run reports 94.7% intent accuracy on 2,772 test utterances. Detailed intent and slot scores are in pipeline_results/evaluation_results.txt; the design decisions and user test are in Report.md.
The original interface can be viewed without installing the course stack:
python3 tools/preview_web.pyThen open http://127.0.0.1:8080/start.html. A reproducible results screen with sample data is available at http://127.0.0.1:8080/recipe_overview2.html?demo=1.
The preview serves the HTML, CSS and JavaScript only. Voice input, live recipe queries and page changes depend on the original SIC v2 services, Redis, SWI-Prolog, speech services and trained NLU checkpoint. environment.yaml records the Python 3.11 environment used during development, but this is a course-project archive rather than a maintained one-command install.
| Path | Contents |
|---|---|
dialog_mngr/ |
MARBEL dialogue rules and conversational state |
sic_applications/ |
Agent entry points, recipe data and service configuration |
social-interaction-cloud/ |
SIC framework code, NLU model code and the web interface |
pipeline_results/ |
Saved NLU evaluation output |
tools/ |
Dependency-free interface preview |
Built by Jasper Meijerink, Arjun Pande, Omar Ouaissa, Kyan Abdoellah and Skick Bakker (group P2, VU Amsterdam).

