← Back to projectsCCTMENU / OPERATIONS DEMO

From guest order
to kitchen fulfilment.

One operating flow connects the mobile menu, server-trusted pricing, persistent orders, and a role-scoped staff board.

Guest flowServer-trusted pricingRole-scoped actions
Operations / OrdersSANITISED VIEW
New orders 02#A12Pineapple bun · Milk teaAccept order
Cooking 01#A09Satay beef noodlesMark ready
Ready 01#A07Set meal · Hot coffeeNotify pickup
Current CCTMenu mobile menu with real dish imagery
THE PRODUCT DID NOT START HERE

How an ordering exercise
became an operating system.

The upgrade is not just visual. It adds a pricing trust boundary, persistent orders, staff roles, and a complete state history.

V0 / 2024One-off ordering form
WHAT CHANGEDServer repricingOrder transactionRole-scoped KanbanState history
V1 / NOWFront-to-back operations demo
Current CCTMenu mobile menu with photographed dishes
Verified nowDeployed single-restaurant operations demoHonest next stepMerchant control plane, billing, and full tenant isolation
Scope and evidence

What this project proves

My roleProduct direction, workflow and system-boundary design; AI-assisted full-stack prototype delivery
AI contribution

AI assisted the Next.js rewrite, data model, component implementation, and testing; I defined the ordering rules, state flow, operational boundaries, and acceptance criteria.

MaturityDeployed concept demo
Evidence

V0 and V1 Git branches, a public guest-ordering flow, database schema, Server Actions, a staff Kanban, and status history.

Evidence trail

See what is live, bounded, and still next.

The public guest flow has been verified step by step. Signed-in staff operations remain explicitly protected rather than being presented as publicly inspectable proof.

Last reviewed2026-08-27
  1. 01Publicly verified

    Public menu and guest ordering

    The public release exposes the menu and guest ordering flow without an account or synthetic-data login.

  2. 02Publicly verified

    Modifiers, quantity, and notes

    The live flow verifies structured modifiers, drink supplements, quantity changes, and special requests.

  3. 03Protected boundary

    Staff Kanban and order history

    The staff surface is sign-in protected. The portfolio describes roles, six states, and history design without exposing accounts, stores, or database contents.

  4. 04Explicit roadmap

    Real merchants, payments, and multi-store operations

    This remains a deployed single-restaurant concept demo with no claim of merchant adoption. Its data structure leaves room for expansion, but merchant onboarding, billing, domain mapping, and full tenant isolation are not complete.

Publicly verifiedDocumented evidenceProtected boundaryExplicit roadmap
Guest → KitchenEnd-to-end operating flow
Server-trustedServer-side repricing
6 statesTraceable order lifecycle
01

Problem

The original Flask version could select and price a meal, but compressed the service into a one-off form with no persistent order, role boundary, legal state transition, or staff workflow.

02

Build

I first reframed responsibility across guest, server, kitchen, and manager, then implemented structured modifiers, server-side repricing, transactional order creation, a role-scoped Kanban, and six-state history with Next.js, Supabase, Auth.js, and Drizzle.

03

Outcome

A five-minute exercise became a deployed, testable front-to-back operations demo for one restaurant. The data model leaves a path toward multiple merchants, but the current release makes no claim of merchant adoption, payments, revenue, or full tenant isolation.

System design

How one order moves through the system

01Guest selects and configures

The public menu supports photographed dishes, set drinks, hot or cold choices, quantity, and notes.

02Server rebuilds the price

Order creation reloads menu and modifier data, rejects browser-trusted pricing, and persists the order transactionally.

03Kitchen advances state

Staff advance orders only through legal state transitions, with payment state checked before completion.

04Manager maintains operations

Protected surfaces hold menu, settings, history, and reporting entry points without exposing operational data in the portfolio.

Continue the conversation

From evidence to a useful next step.

See where this way of working fits, what I can contribute, and the boundaries I keep around responsible delivery.