iChico

Unified restaurant commerce

Year
2025
Scope
Three surfaces on one backend
Stack
Next.js 15 · Vite + Tauri · Express 5 · Prisma · Redis · Socket.IO
Shown here
12 screens, on seeded demo data
Kitchen board, moving live across every terminal · Merchant Dashboard
  • Next.js 15
  • TanStack Query
  • Recharts
  • GSAP

Merchant Dashboard

Back-office and kitchen board

KPI tiles, a revenue curve and a live recent-sales feed sit over the catalogue, inventory and reporting screens.

The kitchen kanban is the centrepiece: tickets move New → In Queue → Preparing → QA → Ready, and every connected terminal sees the change immediately. Product, order and kitchen state stream over Socket.IO rather than REST polling — clients join a per-branch room and receive live updates.

KPI tiles, revenue curve and the recent-sales feed
Performance, transaction mix and best sellers
Stock levels with low-stock flags
  • Vite 7
  • Tauri 2
  • TanStack Router
  • Konva

POS & Kiosk Terminal

Counter terminal with device auth

A Tauri desktop app the staff run at the counter: a live order line across terminals, menu, cart, coupons and payment, with an item configurator for required sizes and optional extras. A self-service kiosk mode shares the same shell and is still in progress.

Terminals authenticate as devices, not users — a one-time activation code mints a device session bound to a branch, so no staff credentials ever live on the hardware.

POS & Kiosk Terminal
Staff terminal: order line, menu, cart and payment
POS & Kiosk Terminal
A live cart, with sizes and extras applied
POS & Kiosk Terminal
Item configurator for required sizes and add-ons
POS & Kiosk Terminal
Activation: a license key binds the terminal to a branch
  • Serwist PWA
  • ZXing
  • Framer Motion
  • PayMongo

QR Ordering

Diner-facing PWA

Mobile-first PWA a diner reaches by scanning the table QR code: branch menu, item detail with required variants and add-ons, a running total, and order confirmation with an ETA.

Installable and offline-tolerant through Serwist, with PayMongo wired for card and e-wallet payments alongside cash. Redis backs response caching, rate limiting and the Socket.IO adapter so the API scales horizontally.

The menu a diner reaches by scanning the table QR
Item detail with required variants and add-ons
Variant selection and the running total
Order confirmation with an ETA