Inspiration
The idea for the Gesture-Controlled Smart Food Ordering System came from the need for contactless and hygienic interaction in restaurants and cafes, especially after the COVID-19 pandemic. We wanted to design a system that combines technology, accessibility, and convenience — allowing customers to browse menus, add items, and confirm orders using only hand gestures. This project aims to make ordering not just safer, but also futuristic, intuitive, and fun.
What it does
The system allows users to order food without touching the screen — entirely through gesture recognition captured by a webcam.Users can swipe through menu items using hand gestures. A thumbs-up adds an item to the cart.A thumbs-down moves to the cart page. From the cart page, another thumbs-down proceeds to the payment page, where the total bill is shown. Finally, a thumbs-up confirms payment and completes the order. This creates a completely touch-free and seamless ordering experience, ideal for kiosks, restaurants, and self-service systems.
How we built it:
The project was developed using a combination of Python, OpenCV, MediaPipe, and Tkinter: Gesture Detection Implemented using MediaPipe Hands, which detects hand landmarks in real-time. OpenCV processes the webcam feed and interprets gestures based on thumb position and angle calculation. Graphical User Interface (GUI) Designed using Tkinter, displaying full-screen backgrounds and product information. Each food item has a unique background for visual appeal. Real-time camera feed is displayed on top of the GUI for better interactivity. System Logic The program transitions between Menu, Cart, and Bill pages based on recognized gestures. It dynamically updates item lists and total prices.
Challenges we ran into:
Gesture Stability: Fine-tuning the detection angle to distinguish between left and right thumb movements. Camera Lag: Maintaining a steady frame rate while updating both the GUI and camera feed simultaneously. Lighting Conditions: Ensuring consistent gesture recognition under different light intensities. GUI Layering: Positioning the camera feed, text, and backgrounds cleanly without overlap. Page Navigation Timing: Avoiding double detections when users hold gestures longer than intended.
Accomplishments that we're proud of:
Successfully built a fully functional gesture-based ordering app that requires no mouse or touch. Integrated real-time hand tracking with a dynamic GUI. Created a premium full-screen interface with silver and gold theme backgrounds. Implemented a smooth navigation flow between multiple screens — Menu, Cart, and Payment. Designed a system that is practical, futuristic, and accessible for public use.
What we learned
How to implement gesture recognition using MediaPipe and OpenCV. The importance of event synchronization between camera and GUI threads. How to enhance user interfaces using transparent images and layered visuals. How to design intuitive user experiences with minimal input methods. How to balance performance and aesthetics in real-time applications. What's next for Gesture-Controlled Smart Food Ordering System Add voice interaction for a multimodal experience (gesture + speech). Integrate with cloud databases for order tracking and analytics. Support multi-user detection using face recognition. Deploy on Android kiosks or Raspberry Pi for real-world restaurant use. Expand the gesture vocabulary for actions like “remove from cart” or “cancel order.” Enhance gesture prediction accuracy using machine learning models.
Log in or sign up for Devpost to join the conversation.