Work

SaaS Products

QR Ordering System

Team project

Year
2026
Role
Author & maintainer

Self-ordering for restaurants, cafés, and fast food. The customer scans the QR on the table, orders and pays from their own phone, and the kitchen slip prints itself.

The problem

The queue at the counter is the business's throughput ceiling. Existing self-ordering apps want an account, an app install, and often a commission per order, none of which a customer sitting at a table will tolerate.

What I did

  • Designed the no-account flow: a secure per-table QR token, so the customer orders from the browser they already have open.
  • Modelled the menu for real kitchens: portion variants, spice level, temperature, toppings, and per-item notes.
  • Integrated Midtrans for instant QRIS and Virtual Account, with pay-at-counter as the cash and EDC fallback.
  • Made the kitchen slip the confirmation step, so the order exists for the kitchen the moment payment verifies.
  • Ran the app on Laravel Octane with FrankenPHP and split it into customer, cashier, admin, and owner domains with different permissions in each.

Impact

0
accounts or installs required to order
5
access domains: customer, cashier, admin, owner, auth
Octane
FrankenPHP application server

Links

Stack

  • Laravel 13
  • PHP 8.3
  • Octane
  • FrankenPHP
  • Livewire 4
  • Redis
  • Midtrans
  • Tailwind v4
  • Pest