← ALL WORK

Web · Compliance · 4 deployed demos

QR Menu Platform

Saudi Arabia's food authority now requires per-item nutritional data on restaurant menus. I turned that regulation into a product: fast, branded, bilingual QR menus with nutrition built in — and shipped four complete restaurant demos to real hosting as sales collateral.

  • Static web
  • Cloudflare Pages
  • Wrangler CLI
  • Arabic / English
  • QR delivery
Role
Product, build, deploy, outreach
Deployed
4 live demos on Cloudflare Pages
Market
Riyadh restaurants (Olaya district)
Driver
SFDA nutrition-labelling mandate

The problem

A regulation most menus can't meet.

The SFDA mandate (verified against the July 2025 rules before building anything) requires food establishments to display nutritional information per menu item. Most small restaurants run on printed menus or a PDF behind a QR code — neither can carry per-dish nutrition data, survive a menu change, or look good doing it. That's a real compliance gap with a clear buyer.

MERIDIEN

Fusion dining

010203
Miso Black Cod612 kcal
Wagyu Tataki489 kcal
Full nutrition facts

جدو شاكر

بيت الأكل المصري

010203
كشري٥٤٠ سعرة
ملوخية بالفراخ٤٧٠ سعرة
القيم الغذائية الكاملة

MIDTOWN ST.

Smash burgers

010203
Double Smash820 kcal
Loaded Fries560 kcal
Full nutrition facts
Three of the four deployed demo brands — fine dining, Egyptian homestyle (Arabic-first), and street burgers.

What I built

Four restaurants, one system.

  • Four complete demo menus — Meridien Fusion (fine dining), Taste of Mumbai (Indian), جدو شاكر (Egyptian homestyle), and Midtown Street (burgers) — each with its own visual identity, not one template recolored four times.
  • Per-item nutrition presentation designed to satisfy the mandate without turning the menu into a spreadsheet.
  • Bilingual content across the set, including an Arabic-first menu for the Egyptian concept.
  • Real deployment: each demo shipped to Cloudflare Pages via the Wrangler CLI — instant, cache-friendly, and free to host, which is exactly the economics a QR menu needs.
  • A compiled outreach list of Olaya-district restaurants to sell the service against the demos.

Decisions

Static on purpose.

Engineering highlight

Why no framework, no backend

A QR menu has one job: load instantly on a phone in a noisy restaurant on bad Wi-Fi. Static pages on Cloudflare's edge give sub-second loads, zero server cost, and nothing to break at dinner rush. The trade-off — menu edits require a redeploy — is acceptable at demo stage and a clean upsell path later (a small CMS becomes the paid tier, not the prototype).

The four demos deliberately span the market's extremes — dark luxury, warm homestyle, loud street food — so any restaurant owner seeing the pitch finds one that looks like their place. The demos are the sales deck.

Outcome

Live demos, honest stage.

The four demos are deployed and working; the business is at the outreach stage, not the revenue stage. What this project proves is the muscle underneath: spotting a regulation, verifying it, designing four distinct brands, and shipping all of it to production hosting — fast.

Next case study

ROOTS-AI