SaaS · subscription product · development lead

wMenu: a multi-language QR menu restaurants can run themselves

wMenu project screenshot

01 / Context

Restaurants wanted to drop printed menus for something they could update instantly and offer in multiple languages for tourists. The catch: restaurant owners aren't technical, so both the menu and the tool to manage it had to be effortless.

02 / The challenge

Build a SaaS where a busy owner can edit a menu in minutes, guests scan and read it in their language with no app install, and the whole thing sustains itself on subscriptions — reliable enough to sit between a restaurant and its customers every day.

03 / Scope

What I did

  1. 01Led development of the product as the technical lead.
  2. 02Built the customer-facing digital menu: fast, mobile-first, multi-language.
  3. 03Implemented the subscription and billing flow with the Stripe API.
  4. 04Built the management side so non-technical owners can update menus themselves.

04 / Key decisions

Key decisions

  1. 01

    Laravel for a product that had to ship and scale

    A mature, well-structured backend meant subscriptions, multi-tenant menus and an admin area could be built quickly and stay maintainable.

  2. 02

    Mobile-first, no-app menu

    Guests scan a QR code and read instantly in the browser — removing the single biggest point of friction, an app install, at the exact moment they're sitting at the table.

  3. 03

    Stripe subscriptions as the revenue engine

    Recurring billing wired in from the start so the product could actually run as a business, not just a demo.

05 / Evidence

Results

  1. 01

    A working SaaS used by restaurants and bars to run menus without printing or apps.

  2. 02

    Multi-language menus that update instantly, aimed at venues with international guests.

  3. 03

    Self-serve subscription billing via Stripe, so the product operates as a real recurring-revenue business.

Have a similar project? Tell me what you're trying to build and I'll reply within 24 hours.