Money stays with the cafe
Guests pay the cafe’s own QRIS. TableTap is paid monthly and takes no percentage of sales.
Case study 03 · Hospitality software
QR table ordering and point of sale for cafes in Indonesia. Guests order and pay from their phone, the money goes straight to the cafe’s own QRIS, and the cashier, kitchen and customer display each work on their own screen.
Running product
The live product covers the guest menu, payment instructions and order tracking, a cashier board and till, a kitchen screen, a customer display, sales reports, and self-service sign-up for new cafes, all in Bahasa Indonesia.

Scan / order
Pay / serve
The problem
At a full cafe, guests queue only to place an order, handwritten tickets get misread in the kitchen, and a guest saying they have already paid is hard to check while the queue grows. At closing time someone still has to reconcile cash and QRIS by hand.
My contribution
I shaped TableTap around one order that every screen reads: the guest’s phone, the cashier, the kitchen and the customer display. Payment is confirmed against the cafe’s own QRIS app, so the product never holds money.
The work spans Next.js and PostgreSQL product logic, role-scoped access for owner, cashier and kitchen, server-side pricing, QRIS payload generation, open bills, reporting, a help centre of 23 illustrated guides, security hardening, and production operation with backups and monitoring.
Ownership record
Order flow
Product outcomes
Guests pay the cafe’s own QRIS. TableTap is paid monthly and takes no percentage of sales.
Guest, cashier, kitchen and customer display read the same order, so nothing is copied by hand.
Self-service sign-up, a 14-day trial and step-by-step guides let a cafe start without a call.
Result
The production product spans 54 routes and 248 TypeScript source files across guest ordering, payment, staff screens, reporting, subscriptions, sign-up and help content, covered by 174 automated tests.
Honest boundary: TableTap launched in October 2026, so this page reports engineering evidence rather than adoption numbers. Payments are confirmed by staff in the cafe’s own QRIS app; there is deliberately no payment gateway in between.
Confirm / cook
Serve / report