CleanCode
Contact
WorkServicesBlogAbout
CASE 01 · F&B / Point of sale · 2026–present

Rubicon.

Our own point of sale for cafés and restaurants. The till keeps selling when the internet drops, and the owner sees every outlet from one place.

CLIENT
CleanCode
SERVICES
Mobile · Web · Backend · Hosting
TIMELINE
Feb 2026 – ongoing
STACK
Laravel, PostgreSQL, Docker, GitLab CI/CD
Rubicon hero
AT A GLANCE
Works offline
Sales keep going when the Wi-Fi drops
Tablet + web
Till on Android, back office in the browser
25 months
Of Mona's history brought over on day one
Self-serve
A café can sign up and start on its own

THE PROBLEM

A café’s till is the one thing that can’t stop. When the Wi-Fi drops at the lunch rush, orders still have to go in, receipts still have to print, and the queue won’t wait for the router.

The owner has the opposite problem. They’re rarely behind the counter, but they want to know what each outlet sold, who the regulars are and whether the drawer matched at closing, without ringing anyone to ask.

We had built point-of-sale back offices for clients. Rubicon is the one we built for ourselves.

WHAT WE BUILT

A till that never waits for the internet.

Every sale, payment and shift is saved on the tablet first and sent up when the connection comes back. The cashier can see how many are still waiting.

Split the bill at the table.

One table, two payers: the cashier moves what each person had into a new bill in a few taps, and both totals update on the spot. Two tables can be merged just as easily.

Every cancellation has a reason.

A cashier cannot remove an item without saying why. The owner sees every cancelled item, who cancelled it, why and what it was worth, filtered by day, outlet or cashier.

A shift that closes to the rupiah.

The cashier counts the drawer note by note, the app shows any difference, and the owner gets the shift report by email.

Loyalty that applies itself.

Pick a regular and their member discount is already on the bill. Promotions with conditions (happy hour, weekends, a minimum spend) are checked for the cashier.

One back office for every outlet.

Menus, prices per outlet, staff roles and sales reports, all from a browser.

THE RESULT

Rubicon has run Mona’s outlets since September 2026. They moved across from Loyverse with 25 months of history, every receipt, shift and customer’s loyalty points, and the totals matched the old system to the rupiah.

Other cafés can sign up at joinrubicon.id and start on the free plan.

STACK

Everything that shipped.

MOBILE
FlutterDrift (SQLite)BLoC
BACKEND
LaravelPostgreSQLRedis
ADMIN
Filament
INFRASTRUCTURE
DockerGitLab CI/CDVPSBluetooth ESC/POS
(Let's talk)

Need something like this?

Tell us what's broken or what you want to build. We'll reply with what we'd make and what it would take.

Start a project

Tell us what you need.

Pick what fits and add a line or two. It becomes an email you send from your own mail app.

What do you need?
When would you like to start?

Nothing leaves this page until you press send in your mail app. Nothing opened? and send it to .