Smart Menu Optimizer
AI-powered dynamic menu adapting to crowd and environment
The Problem
Restaurants lose profit when their menus stay static. On chilly evenings, people want hot dishes. During hot and bright afternoons, they are eager for cold drinks. And when the restaurant becomes crowded, customers tend to choose fast-serving items.
Most restaurants can't respond to these real-time shifts, resulting in slower service, wasted stock, and missed revenues.
Idea
We built a Smart Menu Optimizer that uses live temperature, light, and crowd size data to automatically rearrange a restaurant’s menu for maximum profit and efficiency.
The system identifies what customers are most likely to order right now and dynamically promotes those dishes on the digital menu display.
⚙️ How It Works
Sensing the environment
Grove Temperature v1.2 sensor tracks the ambient temperature.
The Grove Light sensor measures brightness - day/night or indoor lighting.
Camera-based or manual people counter provides real-time crowd level.
Data Logging & Processing
A Raspberry Pi 5 reads sensor data using Python scripts, sensor_logger.py.
Data will be stored in a CSV file and processed locally, with no dependency on a cloud.
Each Entry: [timestamp, temperature, light, crowd_count].
Machine Learning Model
A lightweight regression/classification model learns which menu categories performed the best under which conditions.
Example:
High crowd, hot weather = cold drinks, snacks
Low crowd + cold evening → hot meals, soups
This model outputs a ranked list of menu items for featuring to maximize ordering probability and profit margin.
Menu Optimization Output
The local dashboard or screen, showing recommended "Top Menu Picks for Now," is updated by the Raspberry Pi.
Can easily integrate with digital menus or ordering kiosks.
The Tech Stack
Hardware: Raspberry Pi 5, Grove Base HAT, Temperature & Light sensors
Software: Python, pandas, scikit-learn, OpenCV (for people counting)
Data Interface: I²C for sensors, CSV for logging, ML model for prediction
Challenges We Overcame
Debugging I²C communication (/dev/i2c-1) and ADC readings from the Grove Base HAT.
Synchronizing the data within various Conda environments - setting up the groove module.
Normalizing data ranges from various sensors: °C, lux, crowd count.
Impact ☻
Real-time decision-making: menus adapt in real time to the actual conditions.
Profit boost: Suggests only high-margin, fast-moving items during peak crowds.
Customer experience: quicker service, less waiting, and more relevant choices.
Sustainability: Reduces overproduction, hence reducing food waste.
What's Next
Integrate POS data to link predictions with actual sales. Create a real-time dashboard for restaurant owners with charts. Expand sensors to include humidity and sound for richer behavioral context.

Log in or sign up for Devpost to join the conversation.