Scan the table QR — or call the restaurant's own phone line — and talk to the menu itself. It explains every dish, knows its real calories and macros, coaches your order to your health goals, speaks your language, and sends the ticket to the kitchen only once it's paid.
A guest who reads "Fire Egg Wrap" and needs to know whether it has dairy, how much protein it has, or what it is in Portuguese, has to find a server carrying four plates. So they guess — or order the thing they already know.
The phone is worse: answered by whoever is nearest, mid-shift, over a room full of noise — and every call that rings out during a lunch rush is a paid order the restaurant never learns it lost.
Every one of Pura Vida's 91 dishes is decomposed into ingredients and gram weights, matched against USDA FoodData Central, and its macros are summed deterministically in code — not estimated by a model.
"I'm cutting — what here gets me 40 grams of protein under 600 calories?" Answered from the dish's real ingredients, in whatever language it was asked.
A hallucinated gluten-free claim is a hospitalisation. Grounding is a correctness requirement here, not a feature — the waiter never states a macro or an allergen it was not given.
The table QR and the restaurant's phone line are transports, not products. The same agent, the same menu file, the same grounding, the same kitchen ticket.
The QR opens the live menu with the voice orb docked. No app, no install, no account. Order out loud in any language; the cart and the kitchen ticket build themselves.
dishorb.com/r/puravidaEvery restaurant already has a phone number. The same waiter picks up, takes the order over the call, and it lands on the same kitchen screen — the caller becomes their own table.
+1 (325) 880-0800The order reaches the kitchen screen and the thermal printer directly — no marketplace in the middle, no commission, no intermediary owning the customer. And on a prepaid venue, the kitchen never cooks for an order that didn't pay: the ticket is held until settlement confirms — on a rail where a $12 pickup order settles in under a second for a fraction of a cent, with no chargeback exposure on a card-not-present order.
The menu is the wedge. The rail is the business. The data is the moat.
db/restaurants/<slug>/menu.json exists, therefore the menu serves and the QR prints. No registration flow, no integration project — deliberately the cheapest customer acquisition in the category. Live in five Miami restaurants today.We route demand; we do not own it. The restaurant keeps the customer, the menu and the relationship. We compete on dietary certainty — precisely the axis DoorDash and Uber Eats cannot index, because they never collected the ingredients.
The gate we are not hand-waving: before any dietary claim is sold, it needs restaurant attestation — the venue affirms the attribute with a name and a timestamp, and kosher/halal reference a certification body, not a checkbox. One bad allergen claim ends the marketplace. Nutrition is USDA-grounded today; attestation is what turns inferred tags into sellable claims.
| Layer | Price | Stage |
|---|---|---|
| Voice menu + ordering | Free, forever — distribution, not revenue | 1 |
| Settlement | Take rate, a fraction of card rates | 1 |
| Marketplace / dietary search API | Per-order or subscription | 3 |
| POS / enterprise integration | Contract | 3 |
Every piece below is the production system — same binary, same data. Open them side by side and watch an order travel.
The table QR view — tap the orb and order by voice, in any language. Ask it for macros, allergens, or a high-protein pick.
Ask for the check: a Solana Pay QR settles it in under a second — or split it at the source into house, kitchen and server shares, each paid straight to its wallet.
The ticket appears here only once payment confirms — the kitchen never cooks for an order that didn't pay. (Staff login.)
Three on-chain balances polled live. When diners pay a split check, watch each destination move — proof the money went where it was promised.
Onboarding is not an integration project. Paste your menu's URL or drop the PDF, and the structuring engine reads it, grounds it, and serves it as a live talking menu with its own QR — while you watch.
Dishorb runs on a working restaurant system: voice ordering on Gemini Live, five live Miami tenants, kitchen routing to screen and thermal printer, Solana Pay settlement. One Rust binary, one port, one SQLite file — no framework, no build step.
Tonight's work: the phone line — Twilio Media Streams relayed into the
same voice session the browser orb uses, so the caller gets the identical menu
grounding, macros and ordering, with no second persona to drift — plus the
grounded health-coaching tools and the prepaid settlement gate.
It sits on a branch cut at kickoff, so git log main..shipnight is
the diff of what was built during the event.