Case study 03 · Hospitality software

Table
Tap.

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.

54Product routes
248TypeScript source files
174Automated tests
0%Cut taken from sales

Running product

Ordering, not queueing.

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.

Live TableTap landing page showing the headline and a sample kitchen ticket
Live production capture · tabletap.silentprotocol.top

Scan / order

Pay / serve

The problem

The busiest moment is when the till slows everyone down.

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

Product system and operating model.

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

What I owned.

Role
Product engineering and operations
Period
Since 2026
Product context
Silent Protocol production SaaS for cafes in Jabodetabek
Responsibility
Ordering and payment flow, staff screens, data model, access control, Indonesian interface and help content, security, deployment, and production maintenance

Order flow

Money first, then the kitchen.

  1. 01 · ScanThe guest scans the QR on the table and sees the menu with photos.
  2. 02 · OrderItems and options are chosen on the phone; prices are recalculated on the server.
  3. 03 · PayQRIS to the cafe’s own account, cash or card at the till, or one bill at the end.
  4. 04 · ConfirmThe cashier checks the money arrived before the order reaches the kitchen.
  5. 05 · ServeThe kitchen marks it ready and the guest follows the status on their phone.

Product outcomes

01

Money stays with the cafe

Guests pay the cafe’s own QRIS. TableTap is paid monthly and takes no percentage of sales.

02

One order, every screen

Guest, cashier, kitchen and customer display read the same order, so nothing is copied by hand.

03

Owners set it up alone

Self-service sign-up, a 14-day trial and step-by-step guides let a cafe start without a call.

Result

A cafe can go from sign-up to taking orders on its own.

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.

54Product and guidance routes
3Staff roles with their own screens
LiveProduction deployment

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