Restaurant SaaS202603 / 06

Menuvyn

A QR-powered digital menu platform that gives restaurants an app-like ordering experience without downloads, commissions, or subscriptions.

The Menuvyn home page: the headline “Your menu, reborn as an app” beside a phone showing the Café Vyn menu with live group ordering and a breakfast section priced in rupees.

Role

Founder & sole engineer — product, i18n, offline-first frontend

Stack

  • Next.js
  • TypeScript
  • PostgreSQL
  • Service workers
  • Edge caching

The problem

Delivery platforms take a commission on every order, and most digital-menu products replace that with a subscription. Restaurants operating on thin margins end up paying either way — and the diner still gets a PDF that pinches and zooms badly on a phone.

Approach

  1. 01Built the menu as an app-like surface that loads from a QR scan — no download, no account, no commission on the order.
  2. 02Made language a first-class axis rather than a translation layer: English, Sinhala and Tamil switch instantly, with the script rendering correctly at every breakpoint.
  3. 03Cached aggressively at the edge and offline, because restaurant Wi-Fi is unreliable and a menu that fails to load is worse than a laminated card.
  4. 04Kept the restaurant-side editor simple enough that a manager can update prices between services without training.

System

The menu is cached in three places before it is ever requested. Restaurant Wi-Fi is the least reliable link in the chain, so the diner's device holds a working copy and the network is an optimisation rather than a dependency.

  1. Diner

    • QR scan
    • App-like menu
    • Instant language switch
  2. Offline

    • Service worker cache
    • Survives a dropped connection
  3. Edge

    • Edge cache
    • Next.js app
  4. Data

    • PostgreSQL
    • Trilingual content model

The restaurant's editor writes prices straight through the cache layers, so a change between services is live without a deploy

Trade-offs

What was rejected, and why.

  • No commission on orders and no subscription.

    Instead ofA per-order cut, or a monthly fee per restaurant.

    Both of those are the problem restated. A restaurant on thin margins that swaps a delivery commission for a SaaS bill has not gained anything worth switching for.

  • Language modelled as a first-class axis of the content.

    Instead ofA translation layer over an English-primary menu.

    Sinhala and Tamil are not a localisation of this menu, they are the menu. A translation layer gets the strings right and the script rendering, line breaking and layout wrong at exactly the breakpoints a phone uses.

  • An offline-first surface loaded from a QR scan.

    Instead ofA hosted PDF, which is what most restaurants are handed.

    A PDF pinches and zooms badly on a phone and fails hard on bad Wi-Fi. A menu that will not load is worse than the laminated card it replaced.

Outcome

  • Ordering experience with no downloads, commissions or subscriptions.
  • Trilingual menu with instant switching.

Next project

Harriet Shopping