Complete order cycle — browse, place, modify, track — handled in natural language chat instead of a menu UI.
Source available · Not hosted
PythonFastAPIDialogflow ESMySQLHTML/CSS
// Problem
Food ordering runs through menu UIs, with every order handled as manual input — room for avoidable errors. Foodly moves the whole cycle into one natural-language conversation instead.
// How I solved it
Integrated Dialogflow NLP intent recognition with webhook fulfillment to automate order processing — free-text requests become structured order rows instead of manual handling steps, cutting input errors.
Designed the database schema and order-management logic behind a responsive web interface, giving users real-time visibility into order status from confirmation to delivery.
Trained custom Dialogflow intents for menu browsing, cart edits, order placement and tracking, so a single conversation covers the full ordering lifecycle.
// Features
Dialogflow ES intents for menu browsing, cart edits, order placement and tracking — one conversation covers the full lifecycle.
Webhook fulfillment from intent to Python backend — free-text requests become structured order rows.
MySQL schema covering menu, cart, order status and delivery state.
Order-management view with real-time status from confirmation to delivery.
// Result
Free-text requests become structured order rows instead of manual handling steps — cutting input errors, with real-time order status from confirmation to delivery.
Stack
Python · FastAPI · Dialogflow ES · MySQL · HTML/CSS
Known limits: English-only intents; no payment integration — orders stop at confirmation. Not hosted — clone the repository for source and setup instructions.
// Media
01 · Landing page — the menu in the page, the ordering in the corner widget.
Screen recording · order cycle44.6 MB · loads on demand