Core
Edit the menu once. Every screen follows.
The POS, the waiter's phone, the kitchen ticket, the kiosk, the table QR and your own ordering website all render the same menu rows. Mark an item out of stock at 8 PM and it is gone from the diner's phone before they order it.
Categories·variants·add-on groups·photos·recipes·availability
Forty-four items, one flat list.
No accordion to expand before you can find anything. Every item on one dense, filterable table — diet, category, variants, the add-on groups it uses, price and whether it is orderable right now.
Back office · menu management
Structure the menu the way you sell it.
Categories, sizes, options and photos — and behind each dish, the recipe that connects it to the storeroom.
Categories that hold their order
Starters before mains before desserts. The sort order you set is the order the diner sees on every surface.
Variants and sizes
Half and full, 8 / 11 / 14 inch. Each variant carries its own price, and the list shows the cheapest as "from".
Add-on groups, shared
Define "Crust type" once and attach it to every pizza. Required or optional, pick-one or pick-up-to-four.
Availability per item
Toggle an item off the menu, off delivery only, or out of the kitchen queue entirely for no-prep items like bottled water.
Photos on every screen
Item and add-on images are stored on Cloudflare R2 and served to the kiosk, the QR menu and your ordering site.
Recipes behind the dish
Ingredients per portion, with a live cost per plate and a gross margin — and stock that comes off when the order is confirmed.
Sizes and options, priced properly.
An add-on group is defined once and shared by every item that uses it. The option's flat price is the default — and when a dish has sizes, the same option can charge a different price per size without a second group.
- Add-on groups marked required or optional, with a maximum number of picks
- A per-size price override on any option; blank means charge the default
- Per-option images, so the kiosk shows a thumbnail rather than a word
- Upsells and cross-sells suggested right after the guest taps Add to cart
- Tags, allergens, prep time and calories carried on the item itself
Back office · item detail
A dish is also a shopping list.
Give a menu item its ingredients per portion and two things follow. The kitchen stops guessing what a plate costs, and stock is deducted from the recipe the moment the order is confirmed — not at end of day, and not by hand.
- Ingredients per portion in the unit you buy in — grams, millilitres, pieces
- Cost per portion computed from the current purchase rate, with a waste allowance
- Gross margin shown against the selling price, per dish
- Auto-deduction on order confirmation, so the stock figure is a consequence of trade
- Forecast of how many days the current stock covers at the recent rate of sale
Back office · recipe builder
One menu, read by everything.
Nothing renders its own copy of the menu. Every surface asks the same tables the same question.
Editing the menu is a small circle.
Everyone reads the menu. Four role bundles can change it, and they do not all change the same parts.
- Owner The whole menu, including price. Creates categories and items, sets prices and variants, defines add-on groups, and deletes items that are no longer sold.
- Manager Day-to-day curation. Adds and edits items, reorders categories, attaches add-on groups and manages photos, tags and upsells.
- Supervisor Keeps the menu honest during service. Marks items out of stock or back on, hides an item for the evening, and edits item notes.
- Head chef Owns the recipe side. Builds and edits recipes, sets ingredient quantities per portion, and pulls an item when the kitchen cannot produce it.
A role is a named bundle of atomic permissions, not a rank. A staff member can hold several at once and their effective access is the union; the code checks the permission on every endpoint, never the role name.
See it running on your menu.
We set the restaurant up with you — menu, tables, staff and printers — rather than handing over a login and wishing you luck.