Case study · Android tablet
Restaurant POS
A tablet point-of-sale for restaurants, part of a cloud ERP suite. Staff seat guests, take orders at the table and settle the bill, while the app keeps every table and its open bill in sync.
- Role
- Mobile Developer
- Platform
- Android tablet
- Status
- Live on Play Store
- Kotlin
- Hilt
- Room
- Retrofit
- Paging
- WorkManager
- Firebase
What it handles

Live table map
Tables grouped by area, color-coded by status, with a running timer on every occupied table so staff see the floor at a glance.

Ordering with tax built in
A photo menu by category. Every tap updates subtotal, discount, tax and rounding, so the total is always right.

Open bills per table
The bill stays attached to its table. Add more orders anytime, print the bill, move guests to another table or cancel.

Flexible payment
Quick cash amounts, non-cash via QRIS and loyalty points, always showing the remaining balance.

Tap through a table
An interactive prototype built from real app screens with demo data. Seat a table, order, and head to payment.

Tap the highlighted areas, like a Figma prototype.
Under the hood
- UI
- XML views with ViewBinding and Navigation Component. ViewModels expose state as StateFlow plus one-shot events.
- Domain
- Clean Architecture with 300+ use cases. Calculation engines in plain Kotlin: bill totals with two tax layers and rounding, a promo engine built on the Strategy pattern (discount, bonus, buy X get Y, minimum spend), and loyalty points.
- Data
- Room with Paging for local data, Retrofit + OkHttp for backend APIs, repositories that coordinate both. WorkManager for background jobs and a WebSocket for real-time cashier approval.
- Hardware
- Separate printer module for Bluetooth, USB and WiFi receipt printers.
- Quality
- Hilt for dependency injection, Firebase Crashlytics, Analytics and Performance Monitoring, Fastlane releases to Play Store.