Skip to content
Yunma Software

Case study

Sancha Renjia: from handwritten orders to live printed bills

This is the only restaurant project I have taken all the way through and left running. Every technical choice and interface on this page comes from that project.

How it used to be

  • Customers ordered and staff wrote it down; at peak, orders were chased across the room
  • The kitchen was told by shouting; if the shout was missed, the order waited
  • End-of-day reconciliation relied on memory and feel

Three pieces of work

Customer app

A native Android app: scan the table code, tap dishes, submit — with a pickup number for the customer.

Backend

Cloudflare Workers handle orders and access control; D1 stores orders and accounts. Staff and customers read the same data.

Printing

Integrated with Feie cloud printing: the kitchen receipt prints on its own and order status is reported back live.

How one order travels

From the customer scanning the code to the receipt coming out, nobody has to relay messages. Below is a real order’s event stream.

The owner of Sancha Renjia used to write every order by hand at peak hours — customers rushing, the kitchen shouting, and books that never quite added up. I turned that workflow into a system: customers order by QR code, the kitchen receives orders live, and the receipt prints itself.

How one order travelsReal order events
  1. 14:02:11Order placed

    Table A-12 · 4 items · ¥84.00

  2. 14:02:12Kitchen received

    Pickup #A12 · Printer 1

  3. 14:02:14Receipt printed✓

    Feie printer 1 · ¥84.00

live

Technical details

Customer app
Native Android
Backend
Cloudflare Workers (TypeScript)
Database
Cloudflare D1 (SQLite)
Printing
Feie cloud print API
Hosting
Cloudflare edge network, no fixed server

How it is now

  • Customers finish ordering and the kitchen receipt prints itself — nobody has to shout
  • Adding or changing a dish syncs to every screen, so there is only ever one menu
  • Every order has a time and an amount; checkable and reconcilable at any moment

The interfaces on this page are a rebuilt demo of that project, shown to explain the flow and interactions. The version actually running in the shop is the one that counts.

Where is your project stuck right now?

Not sure whether to build it, what it might cost, or why the last developer stopped — all fine starting points. The first conversation is free.