DineAssist — Dine Smarter. Serve Better.

Inspiration

A great restaurant experience is about more than good food—it's also about timing. A customer might be seated but wait several minutes before being greeted, while an empty table sits uncleaned and other customers wait for a seat. These delays frustrate guests, increase staff pressure, and create missed revenue opportunities.

We asked ourselves: What if a restaurant could understand what's happening at every table in real time?

That question inspired DineAssist, an AI-powered restaurant management system that turns existing security cameras into actionable operational insights. By reducing reliance on manual monitoring and expensive table sensors, DineAssist aims to help restaurants identify service gaps, coordinate staff, and use their dining space more efficiently.

What it does

DineAssist monitors restaurant tables and tracks their lifecycle through three key states:

  • Occupied: Customers are detected at a table.
  • Needs Cleaning: A table becomes vacant and requires staff attention.
  • Available: The table is ready for the next guests.

The system helps restaurant teams:

  • Improve first-contact times: Alert staff when a newly seated customer has waited too long without a recorded greeting.
  • Speed up table turnover: Notify staff when a table becomes vacant and needs cleaning.
  • Simplify host decisions: Display a color-coded floor plan with table availability, occupancy, and active timers.
  • Manage waitlists: Organize waiting parties and send table-ready notifications through a push-notification service.
  • Analyze operations: Log timestamped table-state changes, service alerts, and occupancy durations.
  • Increase revenue potential: Reduce delays, free up tables sooner, and help restaurants serve more customers with existing resources.

By turning real-time observations into actionable alerts, DineAssist aims to reduce bottlenecks, improve customer satisfaction, and maximize seating utilization.

How we built it

DineAssist combines computer vision, person tracking, backend automation, and an interactive dashboard to transform camera footage into operational insights.

1. Computer vision and table mapping

Using Python, OpenCV, Ultralytics YOLO26, and ByteTrack, we detect and track people in recorded videos or compatible RTSP camera streams. A custom zone-mapping utility lets users draw polygon boundaries around tables and save their coordinates as JSON. Detected people are associated with tables using bounding-box overlap.

2. Table-state management and alerts

A state machine tracks whether tables are occupied, need cleaning, or are available. Confirmation delays reduce false state changes caused by temporary missed detections. Occupancy timers trigger a greeting alert after five minutes without a recorded greeting, while vacancy triggers a cleaning alert. Staff can be manually identified through tracking IDs, and the dashboard supports explicit greeting and cleaning confirmations.

3. Backend and analytics

A FastAPI backend manages table states, timers, alerts, staff interactions, and waitlist operations. SQLite stores timestamped events, state transitions, and occupancy durations for historical analysis.

4. Interactive dashboard

Our Streamlit dashboard features an animated, top-down restaurant floor plan with color-coded tables, active timers, service alerts, and a queue of tables needing attention. It also supports staff identification, greeting and cleaning confirmations, waitlist management, guest notifications, activity-log filtering, and CSV export.

We additionally created a browser-based demo using sample data and recorded detector output, allowing users to explore the interface without connecting a camera.

5. Recent technology: YOLO26

To address the Fresh off the frontier challenge, we integrated Ultralytics YOLO26, publicly released on January 14, 2026. Its end-to-end detection architecture eliminates conventional non-maximum suppression and includes inference optimizations.

We use the lightweight YOLO26 nano model (yolo26n.pt). In our recorded CPU-based experiment, YOLO26 achieved approximately 15% faster inference than YOLO11, according to our project results.

This recent technology is central to DineAssist: its detections feed directly into person tracking, table-state updates, alerts, and the live management interface.

Challenges we ran into

One of our biggest challenges was that detecting a person is not the same as understanding what is happening at a table. Occlusion, movement, and temporary missed detections can lead to incorrect occupancy states. We addressed this through table-specific polygon zones, person tracking, and confirmation delays.

Balancing accuracy and speed was another challenge. At an inference resolution of 640, some distant customers were missed. Increasing the resolution to 960 improved detection coverage in our sample but reduced processing speed, highlighting the tradeoff between accuracy and computational efficiency.

Distinguishing customers from staff also required careful handling. Standard person detection cannot reliably identify someone's role, so we introduced manual staff labeling through tracking IDs and confirmation controls for greeting and cleaning events.

Finally, we implemented safeguards for stale camera observations so a disconnected feed would not automatically make every table appear available. Separating video processing, the API, and the dashboard also helped prevent dashboard refreshes from interrupting detection.

Accomplishments that we're proud of

We built an end-to-end AI-powered restaurant monitoring prototype that goes beyond object detection by connecting YOLO26 and ByteTrack with table-zone mapping, lifecycle management, automated alerts, FastAPI, SQLite, and an interactive Streamlit dashboard.

Our animated restaurant floor plan translates complex detection data into an intuitive interface showing table states, occupancy, timers, and service notifications.

We also integrated waitlist management and guest notifications, connecting internal operations with the customer experience, and implemented automated tests covering detection geometry, state transitions, API behavior, dashboard functionality, and waitlist operations.

Most importantly, DineAssist follows a software-only approach built around existing camera infrastructure, reducing the need for expensive additional hardware while creating opportunities to improve restaurant efficiency and revenue.

What we learned

DineAssist reinforced an important lesson: useful AI is not just about detecting objects; it is about turning uncertain observations into reliable decisions.

We gained practical experience with YOLO26, ByteTrack, polygon-based spatial matching, temporal state management, APIs, persistent event logging, and dashboard design.

We also learned to balance detection accuracy with processing speed and to recognize the limits of computer vision. Detecting someone near a table does not prove they are a customer, and seeing staff enter a zone does not confirm that a greeting or cleaning task occurred. Combining automated observations with human confirmation makes the system more reliable and transparent.

Privacy was another important consideration. DineAssist focuses on table activity rather than identifying individuals and stores structured events instead of camera footage. Real-world deployment would still require appropriate privacy safeguards, access controls, and regulatory compliance.

What's next for DineAssist

We envision DineAssist evolving into a comprehensive AI-powered restaurant intelligence platform. Our next steps include:

  • Smarter staff recognition: Reduce reliance on manual tracking-ID labels.
  • Advanced interaction detection: Improve automated recognition of greetings, cleaning, and other service activities.
  • Mobile notifications: Extend alerts to phones and smartwatches.
  • Predictive analytics: Estimate peak hours, table turnover, and staffing requirements using historical patterns.
  • Intelligent waitlists: Improve table assignment and estimated waiting times.
  • Performance optimization: Evaluate different camera angles, lighting conditions, crowd levels, and hardware configurations.
  • Edge deployment: Process video locally to reduce network dependence.
  • Revenue analytics: Measure changes in turnover time, customer waiting time, seating utilization, and potential revenue gains.

Ultimately, our vision is simple: make restaurant operations easier, improve the guest experience, and increase revenue by reducing service delays, speeding up table turnover, and helping restaurants serve more customers with existing resources.

DineAssist is a step toward restaurants that don't just observe what's happening—but use that information to serve smarter.

Built With

+ 15 more
Share this project:

Updates

Submission history