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
Get it on Google Play

What it handles

Live table map

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

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

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

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.

Cashier home

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.
‹ All work