Skip to content
Back to work07 — Full-Stack · QR Menu System

Digital Restaurant Menu

A QR-based digital menu: customers scan a code at the table to browse the menu on their phone, while staff update items and prices from a simple management panel.

RoleDesign & full-stack development
CategoryFull-Stack · QR Menu System
StackReact, Next.js, Node.js, MongoDB, Tailwind CSS
Cover artwork for the Digital Restaurant Menu

Overview

A digital menu and management system for restaurants. Each table gets a QR code; scanning it opens the live menu on the customer's phone with categories, photos, prices and dietary labels. Behind it, a management system lets the restaurant edit the menu in minutes.

Challenge

The customer view has to load instantly on any phone without an app, and menu changes made by staff have to appear immediately. The management side must be usable by non-technical staff.

Process

  1. 01

    Designed the customer menu mobile-first with fast category navigation and clear pricing.

  2. 02

    Built a management panel for items, categories, prices, availability and photos.

  3. 03

    Generated per-table QR codes that link to the menu with the table identified.

  4. 04

    Kept the menu data lightweight so it loads quickly on slow connections.

Solution

A Next.js customer menu backed by a Node.js API and MongoDB, with a separate management panel for staff. Menu edits write to the database and the customer view reads the latest data on every open, so updates are live without redeploying.

Features

QR code per table linking to the live menu
Mobile-optimised menu with categories and photos
Item availability toggles and daily specials
Management panel for items, prices and categories
Dietary and allergen labels
Works in the browser with no app install
Digital Restaurant Menu gallery image 1
01Customer menu on mobile
Digital Restaurant Menu gallery image 2
02Management panel
Digital Restaurant Menu gallery image 3
03Table QR codes
Next project

Prism

An experimental WebGL scene: a refractive glass form that reacts to the cursor and scroll, built to learn shaders, post-processing and performance budgeting.

Open case study
Prism experiment: glass geometry with refracted colour bands on a dark scene