Skip to content
prom.work
/
Back to all work
Representative scopeIndependent restaurant

A direct-order page that keeps the whole price of the dish

The scope I quote a restaurant that is tired of delivery-app commissions: its own ordering page, PromptPay at checkout, order status on LINE, zero percent per order.

FieldIndependent restaurant
Service linesWebsites & marketing sites, Search & answer visibility, Custom software & internal tools
TimelineScoped to map, build, and hand off inside a few focused weeks
ProvenanceRepresentative scope
10:24
Order direct
  • Basil chicken with fried egg65฿
  • Pad thai with river prawns80฿Add
  • Thai iced tea35฿Add
Basket1 · 65฿

The problem

The apps bring orders, but after the commission and the markup games there is not much left of the dish. And the regulars are not mine: their names live in the platform, not with me.

Who it is for

Independent restaurants and cafes that already have demand: a busy LINE chat, regulars who order the same thing, a queue at lunch. Built for the shop that wants the apps to be one channel, not the landlord of the business. Commission rates have historically run far above what survives a food margin, and the current discounted rates are scheme rates, not the structural norm.

Scope of work

The build gives the shop one thing the platforms never will: a sales channel it owns end to end.

  • A bilingual menu site with a real URL per dish, structured so search and answer engines can quote it
  • Order flow with PromptPay QR at checkout; the order only enters the kitchen once payment clears
  • Pickup and delivery-radius rules the owner sets, so the shop never promises what it cannot deliver
  • A kitchen queue screen: new orders slide in, one tap moves them from cooking to ready
  • Order status pushed to the customer's LINE: received, cooking, ready to collect
  • A customer list with consent, owned by the shop, for repeat-order broadcasts

What you own at hand-off

  • The full codebase in the restaurant's own repository
  • Hosting, domain, LINE OA, and PromptPay wiring set up in the shop's name
  • A plain-language runbook: change a price, mark a dish sold out, pause delivery on a flooded soi
  • A recorded handover call the owner can rewatch instead of re-asking

Package tiers

Essential

For
Pickup-first shops: the menu, the payment, and the kitchen queue working end to end.

Includes

  • Bilingual menu site with per-dish pages
  • PromptPay checkout for pickup orders
  • Kitchen queue screen

Studio

For
Shops that deliver nearby and want status updates out of the chat.

Includes

  • Everything in Essential
  • Delivery-radius rules and delivery fees
  • Order status pushed to the customer's LINE

Signature

For
Shops ready to work their regulars: the customer list becomes the marketing channel.

Includes

  • Everything in Studio
  • Customer list with consent and repeat-order broadcasts
  • Daily sales summary to the owner's LINE

Timeline & phases

  1. Map

    A short first week

    I sit at the counter for one service and trace a real order through the apps, the chat, and the kitchen, to find where margin and customers leak.

    A one-page scope: the order flow, the payment rule, and what we deliberately leave to the apps.

  2. Shape

    Inside the same fortnight

    I design the menu and checkout around a hungry customer on a phone, and the queue screen around a cook with wet hands.

    Clickable screens the owner approves before any backend is built.

  3. Make

    The build weeks

    I build the menu, the payment, and the kitchen queue as one tested path: paid order in, ticket out, status to LINE.

    A working order placed with a real PromptPay charge, showing up on a real kitchen screen.

  4. Prove

    A focused week

    We run one real service day through the system in parallel with the old way and watch where staff or customers hesitate.

    A short list of fixes from real service, all closed before launch.

  5. Hand-off

    The final days

    I move every account into the shop's name and walk the owner through prices, sold-out days, and the daily summary.

    The keys: code, hosting, accounts, and a runbook in plain Thai and English.

How pricing works

  • Quoted per project after a short scope call. You see the full number before any money moves.
  • Payment is phased against the build: a deposit to start, a milestone at a working paid order, the balance at hand-off.
  • Fixed scope, fixed price, and no percentage of any order, ever. That is the point.

Assumptions

  • The shop has, or will open, a PromptPay-capable account and a LINE OA in its own name.
  • The menu is reasonably stable; daily specials fit, a full rebuild of the menu every week does not.
  • One owner-approver for decisions during the build.

Deliberately out of scope

  • No rider fleet and no logistics; the shop delivers with its own people or keeps the apps for far orders.
  • No POS replacement; this is the direct channel, not the cash drawer.
  • No loyalty points engine in the first scope; the customer list comes first, mechanics can come later.

The one decision that mattered

The kitchen screen is the product, not the website

A pretty menu site that prints orders into the old chat changes nothing. The decision that matters is making the paid order itself the source of truth: it enters the kitchen queue the moment money clears, and every status the customer sees comes from that queue. The shop stops transcribing orders, and the apps become optional instead of structural.

I would build the paid-order path first, before any menu styling. If the QR payment cannot turn into a kitchen ticket on its own, the shop is still transcribing orders, and transcription is where lunch-hour mistakes live.

The kitchen screen stays deliberately dumb: big tickets, one tap to advance, nothing to configure mid-service. A cook with wet hands gets a screen that behaves like a stack of paper tickets, except it also tells the customer their noodles are ready.

The menu pages come last, because by then they only have to describe dishes that an order flow we already trust can sell.

Search & answer visibility

  • Every dish gets a real, fast page with menu structured data, so 'best khao soi near me' can land on the shop's own ordering page, not a platform listing.
  • Bilingual page structure so Thai and English searches both find the menu, and answer engines can quote it with the shop's name attached.

Outcome & what it proves

The result

Built so that every direct order keeps its full price, every regular becomes a name the shop can reach again, and the apps go back to being one channel among several. The margin that used to leave with the commission stays in the till.

What it proves

That an ordering channel earns its keep when it changes who owns the customer, not when it adds another screen. Own the order, own the name, and the platform fee becomes a choice.

Independent restaurant

Have a problem that looks like this?

One message in plain language is enough to start. I map the work, scope it fixed, and you see the full number before any money moves. I reply within one business day.