DMB KioskProduct delivery
A self-ordering kiosk for a hospitality group
The self-ordering app for Android TV kiosks and tablets in DNA Group's food and beverage outlets. I designed the flow and built the app.
- Role
- Flutter developer. Owned UI/UX, API integration and state management
- Period
- Oct 2024 – Sep 2025
- Team
- Team of 5: backend, project manager, mobile (me), admin, IT support
- Status
- Piloted, rollout on hold
- 1hospitality outlet piloted
- 2device types from one codebase: TV kiosk and tablet
- 4other management systems I built features for
The kiosk went live in one hospitality outlet. A wider rollout was put on hold because of the company's budget.
Context
The problem
DNA Group runs hotels, entertainment venues and F&B outlets in several Indonesian cities. At peak hours customers queued at the counter, staff re-typed orders into the POS, and every outlet had different hardware.
Solution
What we built
A self-ordering app for Android TV kiosks and tablets. One Flutter codebase, with layouts tuned for each screen size, connected to the group's ordering and POS APIs. The state layer is kept simple so the flow behaves the same at every outlet.
- Flutter
- Dart
- REST API
- Sentry
- Google Play
Decisions
Decisions and trade-offs
One codebase for two kinds of device
Kiosks and tablets share business logic and state. Only layout and input handling differ, so there is less to test and every outlet runs the same version.
Built for first-time, standing users
Big touch targets, no hidden gestures, and the order summary always on screen. Nobody reads a manual at a kiosk.
My role
What I owned
- Turned the wireframes into an ordering flow that works for someone standing at a kiosk for the first time.
- Integrated the ordering API, including error and retry states.
- Designed the state architecture shared by the TV and tablet layouts.
- Released and maintained the app on Google Play with the group's other apps.
Reflection
What I'd do differently
A kiosk is closer to signage than to an app. Next time I'd watch people use it on site before drawing the first wireframe, not after the first release.
Have a process that should be a system?
I'm not looking for a new role, but I'm always up for a conversation about a system, a process or a collaboration.