A self-service kiosk for restaurants and schools — helping customers order food faster and helping parents manage their children's meals at school.
This project is a self-service kiosk with two main use cases:
I was the UX Designer on this project. I worked with a product manager and developers. I was responsible for user research, user flows, wireframes, UI design, and usability testing.
Before this kiosk, both restaurants and schools had the same problem: long queues and slow service, especially during busy hours.
For restaurants: Reduce the time from "customer arrives" to "order is placed." Make checkout faster and easier.
For schools: Help parents pre-order meals for children. Reduce pressure on canteen staff during peak hours.
"I want to order my lunch in under 3 minutes so I don't waste my break time."
— Restaurant customer
"I want my child to get the right meal quickly, without standing in a long queue."
— Parent
I started by looking at how people order food in restaurants and schools today. I observed how long queues form, where people get confused, and what causes delays.
I also looked at other kiosk products (like McDonald's) to understand what works well and what we could do better.
I created separate user flows for the two contexts. The restaurant flow focuses on speed: browse → select → pay. The school flow focuses on simplicity: scan/enter student ID → confirm pre-ordered meal → done.
This was a key part of the design. A kiosk is a physical product, so the screen position and button placement matter a lot — especially because our users include children.
Based on the average height of Vietnamese users (140 cm–168 cm), I recommended placing the screen center at 110–120 cm from the floor. This height works for both children and adults without anyone needing to bend or stretch.
I placed all main buttons (add to cart, pay, confirm) in the lower half of the screen. Children at 140 cm tall cannot easily reach the top corners, so I avoided putting important actions there.
I designed the UI with these principles in mind:
I chose to design one kiosk that supports both use cases (restaurant and school), but with different entry flows. This reduces hardware cost and maintenance for the business, while still giving each user type the right experience.
Based on ergonomics research, I made a strict rule: no critical action button in the top half of the screen. This was a direct response to the needs of younger users. It also makes the experience more comfortable for adults who do not want to reach up.
For students, the goal is speed. They already have a pre-ordered meal. So I reduced the school pickup flow to just 2 steps: (1) identify yourself, (2) confirm and collect. This minimizes time at the kiosk during busy recess.
Before finalizing the design, I ran usability testing sessions with real users to check if the design worked as intended.
Testing helped us find a few problems early. For example, some users did not notice the "confirm" button because it was too similar in color to the background. We made it more visible by increasing contrast and size.
We also found that children sometimes pressed the wrong item by mistake, because buttons were too close together. We added more spacing between items in the menu grid.