Built for UAE & Saudi meal-plan kitchens
تغيير واحد يُحدِّث كل شيء.
Production, ingredients, labels, delivery and billing — resynced from a single customer change. The Excel-and-WhatsApp desync that breaks kitchens around 200–300 meals a week, gone.
From AED 599/month · unlimited subscribers · everything included · cancel any time
Change · WhatsApp
one atomic event · six modules · zero re-typing
01 — Where it breaks
| Fatima H. | 10 meals | Sun–Thu |
| Sara A. ⚠ | 10 meals | 15?? |
| Omar E. | 20 meals | Sat–Wed |
Chicken Kabsa — Sara A.
412 kcal · P 38g · C 30g · F 14gcontains: mushrooms — printed from last week's sheet
meals / week — where every kitchen breaks
Every pause, skip, upgrade and “no mushrooms” is a WhatsApp message someone re-types into a CRM, an order master, a production sheet, a purchasing sheet, a label file and a delivery list. At this volume, a human being becomes the sync engine.
Humans drop packets. The result is wasted food, missed cutoffs, silent churn — and the one that keeps owners up at night: a wrong allergen label.
02 — How it works
The same flow whether the change comes from your staff, the customer's app, or their WhatsApp: recorded once, audited once, broadcast to every module on the event bus. Nothing is re-typed, so nothing drifts.
Cook counts recompute
Recipe BOM re-explodes
Labels rebuilt per box
Driver manifest updates
Customer told it landed
MRR & meals/week
Cook counts recompute
Recipe BOM re-explodes
Labels rebuilt per box
Driver manifest updates
Customer told it landed
MRR & meals/week
propagating…
03 — The product
Every screen below is the real admin app, running live against a demonstration kitchen we keep loaded for exactly this — 30 customers, 27 subscriptions, 63 meals to cook, 27 stops to drive. Nothing here is drawn in Figma. The only thing invented is the kitchen.
Production
One cook list for the day, aggregated across every customer and every plan — here 63 meals across 14 distinct recipes, each named in English and Arabic. Two portions are flagged before anyone lifts a pan: one customer who reacts to fish, one who reacts to dairy.

Subscriptions
27 live subscriptions on 10- and 15-meal plans. Paused customers sort to the top instead of being buried — four of them here. Change one and production, purchasing, labels, delivery and billing all move with it, in the same transaction.

Packing & labels
63 printable labels for the day, each carrying macros, allergens and a use-by date. The two conflicted portions are called out above the list, so the warning survives the trip from the production screen to the packing bench.

Delivery
27 stops split across 2 routes for the day, each stop carrying its item count, its assigned driver and an exact map pin — so a driver opens navigation instead of calling the kitchen for directions.

Driver handover
The same system, signed in as a driver: only that driver's stops for the day, in route order, each with the customer, the address and how many boxes to hand over. Navigate opens the phone's map. Delivered or Failed closes the stop, and the kitchen sees it immediately.

Analytics
Cook, pack and deliver progress for today, what needs attention, and revenue computed from the same records the kitchen runs on — AED 10,400 MRR, 23 active subscriptions, 270 meals a week. There is no second spreadsheet to reconcile it against.

04 — The customer
Travelling next week, off dairy since Tuesday, wants the salmon instead of the chicken — today each of those is a message someone has to read, remember and re-type into five files. In Mealroh the customer does it themselves, and the kitchen sees the result already applied.



Every one of those changes lands as the same domain event the admin raises — so the cook list, the ingredient forecast, the labels, the driver manifest and your live numbers all move together, without anyone re-typing a thing.

05 — The shift
Before: people are the synchronization layer.
Sheet3!D14
Sara — 15 meals?
out of date
WhatsApp · 11:52 PM
غيّري خطتي إلى ١٥ وجبة
unread
labels_v3.pdf
PLAN: 10 meals
stale print
Whiteboard
tell Imran re: JVC stop
verbal only
After: Mealroh is the synchronization layer.
one timestamp on every row — the change landed everywhere, or nowhere
06 — Built for the Gulf
The region isn't a locale setting. It changes what a correct system does — when the week ends, how the day is shaped, what an auditor will accept, and which language the kitchen actually runs in.
Seasonal demand
Mornings collapse, iftar surges. Daily demand profiles are configured per season and follow the Hijri calendar — never one hardcoded production pattern.
VAT · ZATCA
AE 5% / SA 15%, a scannable ZATCA QR on every invoice, and a hash chain linking each one to the last — so history cannot be quietly edited.
Calendar
The delivery calendar knows the Gulf week and the Hijri holidays — recurring Eids included — and compensates skipped days.
Money
Every amount is stored as integer minor units with an ISO currency — no floating-point fils, ever.
AED 7,188.00 → 718800 fils (int)
Language
Every screen, label, invoice and message exists in Arabic and English from commit one — with the layout mirrored, not just the words swapped.
07 — Arabic
One component, two directions. Switch the language and watch the layout mirror — not just the words.
Sara Al Mansoori
Subscription · kitchen view
Plan
15 meals / week
Next delivery
2026-08-23
Delivery days
30
This week's selection
Localisation here is structural. The same markup produces both panels; only the direction and the strings differ.
The same rule holds off-screen: labels, invoices and WhatsApp messages are generated from the same keys, in the language the customer actually reads.
08 — WhatsApp
Connect your kitchen's WhatsApp number and a customer's message becomes a command, the command becomes one event, and the kitchen is updated by the time anyone would have read it — with nobody retyping the change.
إيقاف مؤقت — مسافرة الأسبوع الجاي
+971 5• ••• ••12 · ar
Parsed
Also over WhatsApp
the customer gets one reply, in Arabic — the kitchen gets six updated systems
09 — Book a demo
Thirty minutes, your own plans and meal counts on the screen, and a straight answer on what it would cost you. No slide deck.
مطبخك جاهز خلال دقائق — بالعربية والإنجليزية.