03 · In production
Darb REST
A more expressive digital home for restaurants.
Digital menus for restaurants and cafés. Owners manage a branded, mobile-first menu site, choose from nine templates and share it with QR codes; guests build a cart and send the order as a WhatsApp request. A Darb product, running in production at rest.darb.co.il.
- Nour’s role
- Product engineering · Restaurant experience
- Status
- Plans: Starter, Pro and Business. WhatsApp requests are available on Pro and Business.

What is real today
Live
- Menu sites with nine templates and QR codes
- Structured WhatsApp order and reservation requests on eligible plans
- Multiple locations with branch menus on the Business plan
Not claimed
- WhatsApp requests are messages: they do not create stored orders, payments, status tracking or confirmed bookings
- Stored orders, checkout, payments, table ordering and a kitchen display exist as switched-off foundations, not current features
The problem
Small restaurants often end up with a PDF menu or a generic site builder that fights them on dishes with options and prices per branch.
A menu is usually the first thing a guest sees of a place, yet most look the same, and taking an order still means a phone call.
How it works
01
A template engine, not nine copies of a page: templates are presentation only, every template renders the same menu model and cart, and a semantic theme layer of 22 colour roles sits on top.
02
Every appearance change is edited as a draft and previewed on real content at phone, tablet and desktop sizes before it goes live. Publishing copies the draft atomically; public pages read only the published snapshot.
03
Guests go from menu to order in a few taps: pick a dish and its options, build a cart, and send a structured WhatsApp request whose totals the server recalculates from the published menu.
Try it
The Darb REST guest page, recreated from the real product: choose a dish with options, build a cart and preview the WhatsApp order request it would send. Try the templates too.
Illustrative demo · fictional café · 3 of 9 templates
One menu model, many templates
Coffee House: Portrait cover, rounded imagery and a relaxed café rhythm.
Switch the language in the phone’s top bar, add a dish, then open the cart and continue to see the WhatsApp request the restaurant would receive.
Selected capabilities
Rich dishes
Variants, modifiers, availability and dietary information, with opening hours computed in each branch’s time zone.
Draft and publish
Transactional saves with a per-business lock and optimistic revisions, so two editors cannot silently overwrite each other.
Server-owned totals
On Pro and Business, cart totals are recalculated on the server from the published menu before a structured WhatsApp request is generated.
Safe media
Logos and covers go through a private upload pipeline and are re-encoded to WebP at bounded responsive widths.
Tenant-aware SEO
Canonical URLs, Restaurant JSON-LD and a paginated sitemap; noindex on capability URLs and the admin console.
Tested at every layer
Vitest unit suites, pgTAP assertions for RLS and RPC contracts, Playwright at widths from 375 to 1440 px.
Architecture
Guest site and admin console share packages over Server Components and Server Actions; business membership is the tenant boundary.
apps/web
Guest restaurant pages at rest.darb.co.il/<restaurant>.
apps/admin
Owner console and the Darb platform console for applications, agreements and plan prices.
packages
types · validation · ui · i18n · supabase
Supabase
Auth, PostgreSQL with RLS and RPCs, Storage. Hosted on Vercel in Frankfurt.
- Next.js 16
- React 19
- TypeScript
- Tailwind CSS 4
- Supabase · Postgres 17
- Zod · Sharp
- Vitest · Playwright · pgTAP
The live product
Captures of the public production pages, and of the app running locally from its own repository with fictional demo data. No real customer or staff data appears.








From the repository

