-
-
Customer QR Ordering Menu
-
Merchant Operations Dashboard
-
Revenue and Order-Type Analytics
-
Best-Selling Product Rankings
-
Visual Order Management Board
-
Order Details and Quick Checkout
-
Table and Seating Management
-
Table-Based Quick Operations
-
Menu and Product Management
-
Customer and Membership Management
-
Discount Code Management
-
Promotion Creation Workflow
-
Merchant Profile and Store Settings
-
Business Hours and Service Availability
-
Inventory Management
Inspiration
I am a university student, and I started this project after repeatedly experiencing inconvenient ordering processes in restaurants.
Many existing restaurant systems are functional, but I found that some of them are not intuitive enough for customers or staff. Their interfaces may rely heavily on text, provide limited visual guidance, and require too many steps to complete simple actions.
Another problem I often encountered was uncertainty about waiting time. After placing an order, customers usually do not know how long the meal will take. This uncertainty can create frustration, especially during busy hours.
I wanted to build a system that could provide a practical estimated waiting time based on operational factors such as current orders and restaurant workload. The current implementation uses a formula-based calculation that combines arithmetic operations, weighted values, and square-root calculations. It is not presented as machine-learning prediction.
With a clearer estimate, customers can use their time more effectively—for example, by shopping nearby, completing another task, or returning when their meal is almost ready.
This idea gradually evolved from a simple ordering system into a unified restaurant operations and customer engagement platform.
What It Does
Smart Dining Hub combines customer ordering, merchant operations, membership services, promotions, table management, formula-based waiting-time estimation, and secure pickup workflows in one platform.
Customers can browse a visual menu, select product options, place orders, apply eligible promotions, and follow the status of their orders. Restaurants can manage menu items, seating, orders, customers, discounts, promotions, and daily operations through a graphical merchant dashboard.
The system currently includes:
- QR-code ordering
- Dine-in, takeaway, and scheduled ordering flows
- Order and table management
- Merchant administration
- Membership and customer accounts
- Discount codes and promotional campaigns
- Formula-based waiting-time estimation
- Visual menu presentation
- QR-token-based pickup verification
- A software workflow designed for future smart pickup locker integration
- Multi-merchant data and permission separation
The waiting-time estimate is calculated using operational inputs and mathematical formulas, including arithmetic operations, weighted factors, and square-root calculations. It is designed to provide a practical estimate rather than an exact or AI-generated prediction.
The platform is designed to support multiple merchants while keeping each merchant's data and permissions separated.
Smart Pickup with QR Token Verification
One of the project's distinctive features is its smart pickup workflow using QR-token verification.
Some existing pickup services require customers to enter information such as a phone number and an SMS verification code. Although this method is widely used, it can introduce additional steps, depend on SMS delivery, and require customers to expose or repeatedly enter personal information.
Smart Dining Hub instead generates a secure QR-code token for each eligible pickup order. The customer presents and scans the QR code at the pickup interface.
The backend validates whether the token:
- Belongs to the correct order
- Has not expired
- Has not already been used
- Is authorized for the assigned pickup location or locker
After successful verification, the software can authorize the corresponding pickup action and mark the token as used.
This approach reduces customer interaction steps and avoids displaying phone numbers on the pickup interface. The token can also be short-lived and single-use, reducing the impact if a QR code is accidentally exposed.
The current project implements the software-side workflow and is designed to support expanded physical smart pickup locker integration in the future.
How I Built It
I developed Smart Dining Hub independently over more than one year. The project existed before OpenAI Build Week, and I used the competition period to meaningfully review, improve, refactor, document, and prepare the system with Codex and GPT-5.6.
The system uses a modular full-stack architecture. The backend handles merchant data, users, products, orders, promotions, authentication, permissions, waiting-time calculations, and pickup-token validation. The frontend provides separate experiences for customers, merchants, and platform administrators.
The project includes:
- A RESTful backend API
- A relational database for merchants, users, products, orders, promotions, and operational records
- Role-based access control
- Order-status update workflows
- Responsive customer and merchant interfaces
- Docker-based deployment
- QR-code generation and verification
- Formula-based waiting-time estimation
- A software integration path for future smart pickup hardware
During OpenAI Build Week, I used Codex to inspect and understand the existing codebase, locate relevant files, modify targeted sections, implement and refactor frontend and backend functionality, review potential security risks, debug integration problems, and improve database models and migrations.
This file-aware workflow reduced the need to repeatedly copy and paste large code files and lowered the risk of accidentally overwriting unrelated parts of the system.
I used GPT-5.6 across multiple development conversations to clarify requirements, reason through system architecture, discuss database design, review security concerns, improve user workflows, investigate bugs, structure technical documentation, and evaluate implementation choices.
Codex and GPT-5.6 accelerated development and review, but I remained responsible for defining the product requirements, selecting the final architecture, reviewing generated changes, testing the system, and making the final engineering and design decisions.
I designed the architecture so that future modules—such as multilingual menus, inventory management, nutritional information, purchasing workflows, and AI-assisted recommendations—can be introduced without rebuilding the entire platform.
Challenges
The greatest challenge was not implementing a single feature. It was making many interconnected features work together reliably.
For example, an order may involve:
- A specific merchant
- Multiple products and product options
- A table, takeaway flow, scheduled order, or pickup method
- A customer account
- A discount or promotional rule
- Inventory availability
- Payment and order status
- A waiting-time estimate
- A pickup token or locker assignment
A mistake in one module can affect several other parts of the system. I therefore had to carefully design database relationships, backend validation, merchant isolation, pricing rules, and order-state transitions.
Another challenge was developing a practical waiting-time estimate. The current system does not claim to use machine learning. It uses a mathematical model based on operational inputs, arithmetic calculations, weighted values, and square-root calculations. The goal is to provide a useful estimate while leaving room for future calibration using real restaurant data.
Maintaining the system as it grows was also difficult. Database upgrades must preserve existing merchant and customer data when new fields or features are added. I addressed this through versioned database migrations, backward-compatible schema changes, backup planning, and rollback procedures.
Security was another important concern. Before real restaurant deployment, I am reviewing authentication, merchant permissions, API authorization, token handling, password security, and data separation.
What I Learned
Building this project taught me that a commercial product requires much more than a large number of features.
I learned the importance of:
- Designing around real customer and merchant workflows
- Separating merchant data and permissions
- Validating pricing and promotional rules on the backend
- Planning database migrations before deployment
- Building backup and recovery procedures
- Reducing unnecessary customer steps
- Clearly separating implemented features from future plans
- Testing mathematical estimates with real operational data
- Reviewing AI-assisted code instead of accepting it without verification
- Listening to feedback from real merchants
A restaurant I consulted suggested adding a faster merchant-ordering function. This feedback helped me recognize that real merchant needs should guide development priorities more than assumptions made during development.
I also learned that AI coding tools are most useful when they help inspect, reason about, and safely modify an existing system—not when their output is accepted without review.
Software becomes a product only when real users can rely on it during real operations.
What's Next
The next stage is to complete security validation, merchant account authentication, production deployment preparation, waiting-time model calibration, and a limited pilot with a restaurant.
Future development may include:
- Multilingual menu management
- Advanced inventory and purchasing workflows
- Nutritional and allergen information
- Cross-merchant membership campaigns
- Calibration of the waiting-time formula using real restaurant data
- AI-assisted menu translation
- Personalized meal recommendations
- Dietary habit analysis
- Expanded physical smart pickup hardware integration
My long-term goal is to transform Smart Dining Hub from an ordering system into an intelligent platform that connects restaurant operations, customer engagement, secure pickup, and personalized dining experiences.
Built With
- css
- docker
- fastapi
- html
- javascript
- jwt
- linux
- nginx
- postgresql
- python
- qrcode
- restapi
- websockets
Log in or sign up for Devpost to join the conversation.