Product · Offline-first

When the line goes down,
the server is still in the room.

An internet line going out is not a rare day — not in a hawker centre in Singapore, not in a shoplot in Malaysia with one flaky connection, not in a basement kopitiam. OrderLah is built so that day costs you only the parts that genuinely live outside your shop. The server is already inside it: the Android tablet on your counter holds the menu, mints the order numbers and keeps every order.

Offline-first, honestly explained

Wi-Fi having a bad day?

Your stall shouldn't.

Most ordering systems are a website with your menu on it: the shop is a thin client, and when the line drops, so does lunch. OrderLah is built the other way round — your tablet is the server. It holds the menu, mints the order numbers and stores every order on the device itself.

Everything working
  • Customer, anywhere
  • Internet (optional)
  • Your hub tablet

Ordering from outside the shop is an extra you switch on. The hub dials out to a relay itself — no VPN, no router settings, nothing for you to keep alive.

Internet down
  • Internet — gone
  • Your hub tablet
  • Counter, kitchen & customer phones on the shop's own Wi-Fi

The QR at the table still opens the menu, the counter still sends orders, the Order Board still moves, and the takings are still recorded. Only ordering from outside the shop waits for the line to come back.

Because "sorry, system down" shouldn't be part of the menu.

The honest version

Internet optional. Local network required.

Those are two different things, and the one that goes out on a Friday afternoon is usually not the one your kitchen needs. Your devices have to reach each other — over the shop's Wi-Fi router, or the hub tablet's own hotspot if there isn't one. They do not have to reach the internet. Here is the line between the two, written out rather than implied.

Keeps working, on your own network

  • The counter till — ringing up an order, quick add, variants and add-ons
  • Order numbers, minted on your own tablet
  • The Order Board, and every status a cook taps on it
  • Kitchen dockets and receipts, if you print them
  • The wall displays — the queue and the collection list
  • Table codes, for phones on the shop's own Wi-Fi
  • Sold out, pause ordering and menu edits — on every device at once
  • The order book and the day's takings
  • Cash, and a wallet QR image you uploaded yourself

Waits for the line

  • Customers ordering from outside the shop. That address goes over the internet, so it needs the internet.
  • A card or wallet payment that has to reach a provider. Cash is untouched, and so is a wallet QR image you uploaded yourself.
  • Reading a report from the back office, which asks your hub directly — so it works again the moment the line does, with nothing to catch up on.
  • Checking in on the shop from somewhere else.
  • App updates.
  • Anything that connects OrderLah to another system.

What waits is not what is lost. Orders taken while the line was down are already on your tablet with their numbers on them — they were never waiting on the internet to exist. Nobody re-keys a lunch service, and nothing has to catch up, because nothing was ever elsewhere.

Two of those are a decision rather than a fact, and both of them are below: which address your table codes open, and what a customer on mobile data does about it.

The table code

One sticker, two addresses

A printed code has to name one place for the phone to go, and your stall can answer at two. So the sticker names one of them and quietly carries the other — once the menu is open it knows both, and can move a customer across if the first one stops answering. Which one it names is the decision worth making before you print anything.

📶 Your tablet, on the shop's own network

The phone goes straight to the tablet in your shop — across the room, not out to the internet and back. Somebody sitting at your table can scan and order with the line into the building completely dead. This is what a new stall gets.

Two costs, and both are real. They have to be on the shop's Wi-Fi first. And some browsers put a not secure note in front of the menu, because a tablet on a shop network has no public name to hang a padlock on — nothing about the order is leaving the building at that moment, and the customer can carry on.

🌐 Your published address, over the internet

Switch on ordering from outside the shop and your outlet answers at a public web address with a padlock on it. A code pointing there opens anywhere — on mobile data, in the queue outside, from the car park. Your hub dials out to it, so there is nothing to change on your router. Depending on how your OrderLah was set up the hub either finds that address by itself or somebody hands you one to type in once.

The cost is the mirror image, and it is why this is not the starting point: that first load now depends on your internet line being up. A stall whose line is out has a table code that opens nothing at all.

So which should your codes open first?

There is no answer that is right for every stall, which is why it is a setting and not a rule. Put it this way: whichever address the code names, its failure is the browser's own error page — the phone has to arrive somewhere before a single line of OrderLah's code can help it. You are choosing which failure you would rather have.

Lead with your own network if…

  • your customers sit down, and they are on your Wi-Fi anyway
  • your internet is the thing you trust least
  • you have not published an address at all — then this is simply the only code there is

Lead with your published address if…

  • people order standing up, on mobile data, before they sit
  • you would rather nobody had to read a not secure note
  • your line is solid and you already take orders from outside the shop

Either way the code carries the other address with it, so everything after that first load is covered in both directions. And changing your mind does not change a sticker that is already on a table: a code you printed last year keeps doing exactly what it did. 🙂

The customer on mobile data

This is the one worth having an answer to at the counter, because it comes up every day. A code that names your own network is naming something a phone on mobile data cannot see — the tablet is on your Wi-Fi and the phone is not. Nothing is broken, and nothing is lost. There are three ways on, and the page offers the first two itself when it can see they are available.

  • Join the shop's Wi-Fi and scan again. That is the whole fix. Your printed cards can carry a WI-FI FIRST line with the network's name on it, so nobody has to ask.
  • Tap through to the online address. If you publish one, the code is carrying it, and the page offers the move as a button: Try ordering online 🌐. A button rather than something automatic, because a page loaded over the internet is not allowed to go quietly looking for a tablet on a private network — so the customer decides, and coming the other way the page offers Try the shop's Wi-Fi 📶 the same way.
  • Order at the counter. The route that asks nothing of anybody's phone. Staff ring it into the same order book, with the same numbers and the same kitchen queue — a counter order and a scanned one are the same thing downstream. The page says so instead of leaving somebody staring at it: the stall is probably still open — please order at the counter.

There is one automatic move per visit, deliberately. Two addresses that are both unhappy would otherwise bounce a phone between them all afternoon, each hop looking like a page that will not load and none of them producing food. After the first, it is a button.

The technical version — why that note says not secure, and what the prompt about reaching a device on this network is — is on browsers and devices.

The honest matrix

What still works, and what doesn't.

Five things can go wrong and they go wrong differently. Here is each one written out before you need it, rather than discovered at 12:40 on a Friday. "Hub" is your own tablet — the one holding the menu, minting the order numbers and keeping the orders.

Read across a row: one thing has gone wrong, and these four columns are what your stall can still do about it.
Scenario POS operations Customer QR ordering Payments Reading reports remotely
Hub and internet available An ordinary day WORKS

Counter, Order Board and wall displays all run off the hub on your own network.

WORKS

Table codes open on the shop's network, and your public address works from anywhere if you've switched on ordering from outside the shop.

WORKS

Cash, your own wallet QR, and provider payments if you take them.

WORKS

The back office asks your hub for a report when you open it, and your hub answers.

Hub available, internet unavailable The line is out WORKS

Order numbers, printing, the order book and the day's takings are unaffected. The hub hasn't moved — it is still the server.

LIMITED

The code printed for your own network still opens for phones on the shop's Wi-Fi. A customer on mobile data has to join that Wi-Fi or order at the counter, and a code that points only at your public address won't open at all.

LIMITED

Cash carries on, and so does a wallet QR image you uploaded yourself. A card or wallet payment that has to reach a provider waits for the line.

UNAVAILABLE

The back office cannot reach your hub, so a report cannot be read from elsewhere until the line is back. Nothing is queued and nothing is lost — the report is worked out fresh whenever it can ask again. Your backups are files on your own tablet and are untouched.

Internet available, hub unavailable Tablet off, crashed or flat LIMITED

The counter tablet can't reach the hub either, so it keeps taking orders into its own queue and sends them when the hub is back. The Order Board and wall displays wait for it.

LIMITED

Only if you have switched on ordering from outside the shop. Then the relay holds the last good copy of your ordering page and its photos in memory for up to a day, so a customer on your public address can still read the menu — and whether they can place an order is a second switch that also starts off. With it off the page says the kitchen can't be reached and to order at the counter. A stall that has switched none of this on has nothing serving the page while the tablet is away.

You switch this on

LIMITED

Cash at the counter carries on, and how it was settled is recorded on the order the till queues — it goes up with the order when the hub is back. What waits is settling a bill the hub already holds, and anything that has to reach a provider.

UNAVAILABLE

The line is fine; there is simply nothing new to send until the hub is back.

Hub and internet unavailable Both gone at once LIMITED

The counter tablet still takes orders into its own queue and sends them when the hub returns.

UNAVAILABLE

No QR ordering, on either address. Orders are taken at the counter.

UNAVAILABLE

A provider payment needs the line, and recording one needs the hub. Cash changes hands as it always did.

UNAVAILABLE

Nothing can reach your hub to ask, so nothing can be read remotely. It is not lost — there is no copy anywhere to be behind. Your backups are on your own tablet either way.

Payment provider unavailable Everything else is fine WORKS

Untouched. Nothing in the order path calls a payment provider.

WORKS

Customers scan and order exactly as before.

LIMITED

Cash is unaffected, and a wallet QR image you uploaded yourself still shows — nothing has to be called to put it on screen. A provider payment can't be started, so the customer is asked to try again rather than told it failed. A call that times out is recorded as unestablished, never as failed, so a late confirmation still lands.

WORKS

Unaffected.

How to read this

  • WORKS Behaves the way it does on a normal day.
  • LIMITED Some of it carries on. The cell says which part, and what it depends on.
  • UNAVAILABLE Not available until the thing that broke is back.

Two things worth knowing behind the grid. An order's status — New, Preparing, Ready, Done, Cancelled — is kept apart from how the bill was settled, so a payment nobody could get a straight answer about is recorded as unknown and reconciled later rather than guessed at; and whether an unpaid or pending order reaches the kitchen at all is your setting, not ours. OrderLah doesn't process payments and takes no percentage — the money moves through the arrangements you already have. More of the plain-language version is in the questions people actually ask.

Every row here is written from what the shipping code does, and is covered by tests that run on every change — the payment row and the two hub-unavailable rows most closely, because those are the ones where being wrong costs somebody money. Last checked against OrderLah 1.0 on 16 September 2026.

Only one device ever talks to OrderLah

This is the part that makes the rest of it possible, so it is worth saying plainly. OrderLah licences the outlet, not the device. Your hub carries that licence and authorises every other screen itself — the counter, the kitchen display, a waiter's phone, the TV on the wall. None of those contacts anything outside the shop. Devices paired to your own hub are unlimited, and the pricing page reads the figure live so it cannot go stale.

The hub is the one that talks to us — to activate, and to keep your licence current — and taking an order goes nowhere near that. So an ordinary outage stays an outage instead of becoming a lockout: nothing in the shop is waiting on permission from somewhere else to sell a plate of rice.

What the hub does need, now and then, is to reach us once to keep its licence current. One that has been cut off for about a week asks to be connected before it carries on, and everything in it is still there when it is. A Permanent Offline licence never asks.

And when the line comes back

Ordering from outside the shop starts answering again, the back office can reach your hub to ask for a report, and the order book needs nothing done to it — every order taken in the meantime is already in it. There is no queue draining anywhere and no copy that was behind: the tablet held the whole thing throughout, which is the reason this section is short. A payment nobody could get a straight answer about is still sitting there marked unknown rather than guessed at, so a confirmation that turns up while that attempt is still open lands on the right bill. An order's status and how the bill was settled are kept apart on purpose, which is what makes that possible.

The other direction is the one people do not expect. If the hub is what went away — a flat battery, a tablet somebody switched off — the counter tablet cannot reach it either, so it keeps taking orders into a queue of its own and sends them when the hub answers. Holding a customer's QR order the same way, out on your public address, is something you switch on; it starts off, and the grid above says what each setting means on the day.

Start today, or see it first.

The trial is the whole product for 14 days, with no card and nothing to cancel. The demo is the real flow with pretend data — order from a table, watch it hit the kitchen, move it to ready. No sign-up, no email, no salesperson.

The setup

One device runs the show.

Pick your best tablet and make it the hub. It keeps the menu, the orders and the takings. Everything else — the counter phone, the kitchen screen, the TV on the wall — joins it by scanning a QR code.

Customer scans your QR Their own phone, no app
OrderLah Hub Your tablet · the menu, the orders, the data
  • Counter Take orders, take payment
  • Kitchen display The board, at the pass
  • Customer display Now ready: #0086
  • Owner's phone Check in without standing there

They all talk over your own network — the shop's Wi-Fi router, or the hub tablet's hotspot if there isn't one. That is why a broken internet line doesn't stop service.

Pairing is a QR scan. The hub shows a code, the new device reads it, done. No IP addresses to type, no router settings to change.

Printers, if you want them. Pair a kitchen printer and test it from the hub. Plenty of stalls run on the screen alone.

Start free

Fourteen days free. No card.

Every new outlet gets a full 14-day trial — the whole product, not a cut-down version — with nothing to cancel at the end of it. You do not need to be invited, approved or called back: create the account, put it on your tablet, and go. What a licence costs afterwards is on the pricing page, in your own currency, taken straight from the price list checkout actually charges.

  • Your 14 days start when you activate on your tablet — not when you sign up.
  • Turn on the parts you want — QR only, counter only, or the lot. It is all in the settings.
  • Tell us what is missing and it changes the app. We do read it.

Already set your shop up? Sign In.

Optional

Rather have a hand with it? 🤝

Nothing here is a gate — the trial above is open right now. But if you'd like somebody to walk your stall through it, tell us a bit and we'll get in touch. Takes about a minute; fields marked are required.

What are you interested in?

We use what you send here to contact you about setting your shop up, and nothing else. Privacy.