Garvit Chaudhary
Back to work

Foodly — NLP Food Ordering & Tracking Assistant

NLP · Chatbot

Complete order cycle — browse, place, modify, track — handled in natural language chat instead of a menu UI.

Source available · Not hosted

Python FastAPI Dialogflow ES MySQL HTML/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
Status
Source available · Not hosted
Repository
github.com/Garvit-Chaudhary/…

Known limits: English-only intents; no payment integration — orders stop at confirmation. Not hosted — clone the repository for source and setup instructions.

// Media

Foodly landing page: Pandeyji Eatery menu section with a chat widget labelled Pandeyji in the bottom-right corner.
01 · Landing page — the menu in the page, the ordering in the corner widget.
Poster frame: Foodly landing page with the Pandeyji chat widget.
Screen recording · order cycle 44.6 MB · loads on demand