Inspiration
Mai Shan Yun needed a modern system with seamless functionality and UI design while being simple to use. This would help staff move faster in operations, while decreasing the chance of mistakes between server and customers lower.
What it does
- Seat parties and manage table status from a table-grid dashboard
- Take and modify orders, then send updates to the kitchen in real time
- Let customers browse the menu, place orders, and request help with “I need a waiter”
- Provide management stats and inventory tracking
How we built it
We used React, Vite, and Tailwind CSS for the frontend, with Node.js, Express, and WebSockets for real-time updates. We used Firebase Firestore to persist data such as menu items and orders, keeping the system consistent across refreshes and devices. We also prepared an AWS DynamoDB backend for production scaling, but did not enable it during the hackathon to avoid unnecessary cloud costs. We designed the frontend in Figma and then implemented it in code.
Challenges we ran into
- Keeping tables, orders, and kitchen tickets consistent across multiple screens
- Designing a data model that supports merged tables, order edits, and live updates
- Balancing speed and readability for staff-facing UI
Accomplishments that we're proud of
- Built an end-to-end workflow that connects customer ordering, waiter actions, and kitchen ticketing in real time
- Designed a table-first interface optimized for speed, clarity, and low-touch operation during service
- Implemented persistent data storage with Firebase Firestore so menu and orders survive refreshes and stay consistent across devices
- Created a management dashboard for key operational insights, with the foundation for expanding analytics over time
- Set up the project to be production-ready by preparing an AWS DynamoDB path for future scaling.
What we learned
Real-time apps work best with clear event contracts, and operational timers are most reliable when you store timestamps (not just client-side counters).
What's next for WaiterDock
- Role-based permissions for waiter, kitchen, and management actions
- Printer-ready kitchen tickets and stronger offline handling
- Deeper analytics and recipe-based inventory deduction
- System for assigning waiters to table to balance load
Log in or sign up for Devpost to join the conversation.