What has been built
The product’s own inventory, part by part, with the file behind each part. Nothing on this page was written for an investor; it is the same list the product describes itself with.
What the product does, in order
The base journey is the same for everybody and costs nothing: an account, a business, a branch, a menu, a published version, a printed code. Plans add capability on top of that chain; they never switch the chain off.
-
Create an account and a business
An email address, then the name, language, currency and time zone of your business.
Produced by app/Http/Controllers/Tenancy/StoreBrandController.php
-
Add a branch
A branch has an address and its own clock. One restaurant is a business with one branch.
Produced by app/Http/Controllers/Tenancy/StoreLocationController.php
-
Write the menu
Categories, dishes, prices, photos and declared allergens, in a draft guests cannot see.
Produced by app/Http/Controllers/MenuCatalog/StoreMenuEntryController.php
-
Publish a version
Publishing freezes a numbered snapshot. An earlier one can be restored.
Produced by app/Http/Controllers/Publication/StorePublicationController.php
-
Print a code for each table
Export a card, a poster or a sheet to cut up, and repoint it later without reprinting.
Produced by app/Http/Controllers/QrDestination/StoreQrCodeController.php
-
Guests scan
The code opens the menu in the browser already on the phone. No app, no account.
Produced by app/Http/Controllers/QrDestination/ShowPublicMenuController.php
What is built
The product has 12 parts, and every one of them is read from the product’s own inventory rather than written for this page. If a part is renamed or dropped, this list changes with it.
-
QR menu
Photo, description, price, allergens and sold-out state, at a permanent address that fits on a card.
Produced by resources/views/public-menu.blade.php
-
Menu management
Categories, dishes, prices and stock, edited in a draft and released as numbered versions.
Produced by app/Http/Controllers/MenuCatalog/UpdateMenuItemPriceController.php
-
Tables and QR codes
A code per table, read back by a decoder before it becomes a file, printed as vector cards.
Produced by app/Http/Controllers/QrDestination/ExportQrCardController.php
-
Design and branding
A logo and two colours, frozen into each publication so a menu never changes under a guest.
Produced by app/Domain/Publication/MenuIdentity.php
-
Images and media
Photos are scanned, resized once and served small; the original is kept so copies can be remade.
Produced by app/Infrastructure/Media/Processing/GdMediaAssetProcessor.php
-
Languages and currency
The guest page follows the guest, dish names stay in your language, prices follow your currency.
Produced by app/Support/Localization/GuestLocale.php
-
Multiple branches
Any number of branches under one business, each with its own menus, prices, codes and hours.
Produced by database/migrations/2026_08_19_000001_create_brands_and_locations_tables.php
-
Analytics
Scans, menu opens, dish views, searches that found nothing and orders sent, counted by the server.
Produced by app/Domain/Analytics/AnalyticsEventType.php
-
Zabuno AI
A photo of a printed menu becomes a draft you approve, and dishes typed twice are found.
Produced by app/Http/Controllers/Ai/StoreMenuAiImportController.php
-
Ordering from the table
Where you switch it on, guests build a basket and send it to a kitchen screen.
Produced by app/Http/Controllers/Ordering/StoreGuestOrderController.php
-
A team with roles
Editors, managers and a kitchen role that marks allergens and sold-out dishes and sees nothing else.
Produced by app/Domain/Tenancy/MembershipRole.php
-
Ratings from the table
A guest who scanned a code can rate a dish, and you can reply.
Produced by app/Http/Controllers/Rating/StoreGuestRatingController.php
What is not built
There are 7 things the product deliberately does not do. This is the section to read first: a capability someone assumed was there is discovered to be missing during service, when there is no time left to change anything.
-
Not a till and not a payment system
Guests do not pay through Zabuno, and nothing here prints a bill or reports your takings.
Produced by app/Application/Ordering/UseCase/BuildOrderLines.php
-
No reservations, delivery or loyalty
There is no table booking, no courier integration and no points card.
Produced by app/Domain/Authorization/Permission.php
-
No third-party integrations
Nothing connects to a till, an accounting package or a food marketplace. Your menu leaves and returns as a spreadsheet.
Produced by app/Http/Controllers/MenuCatalog/ExportMenuCsvController.php
-
No app in a store
There is no iPhone or Android app for you or your guests; both sides are web pages.
Produced by resources/views/public-menu.blade.php
-
Dish names are written once
The interface around the menu speaks two languages; the dishes are written in yours and are not translated.
Produced by database/migrations/2026_08_20_000002_create_menu_catalog_tables.php
-
One brand per account
An account holds one business with many branches, not several businesses.
Produced by database/migrations/2026_08_19_000001_create_brands_and_locations_tables.php
-
No sector editions
No cafe version, bakery version or hotel version. One kind of business: places that serve food and drink.
Produced by app/Domain/Publication/BusinessType.php
How a claim is checked
25 of the claims on these pages name the file in this deployment that produces them, and each of those files is looked for while the page is drawn. A claim whose file has gone is shown as missing rather than quietly kept.
Gate scripts found in this deployment: 10. Each one is a check that runs against the real product rather than a description of it.
-
scripts/scene-budget-gate
Present
-
scripts/scene-perf-gate
Present
-
scripts/scene-visual-gate
Present
-
scripts/mobile-ux-audit
Present
-
scripts/logical-direction-gate
Present
-
scripts/adaptive-bundle-gate
Present
-
scripts/module-graph-gate
Present
-
scripts/preview-truth
Present
-
scripts/speed-gate
Present
-
scripts/snapshot-gate
Present