Codalyst Tech
F&B OperationsLive Demo

Till POS

Restaurant point-of-sale system with table management, menu, modifiers, and payment

Client

Interactive Demo

Next.js 16TypeScriptTailwind CSS v4Framer MotionuseReducer
Till POS project

Add/Modify/Remove/Pay

Order operations

3 (card, cash, QR)

Payment methods

The Problem

What needed solving

Restaurant operators need a POS system that covers the full service flow: allocating tables, browsing a categorised menu, adding items with modifier groups (size, extras, cooking preference), tracking an order, and processing payment.

The Solution

How we approached it

A full-screen POS with a table grid, category-filtered menu, an order panel with line items and quantity controls, a modifier selection modal, and a multi-payment checkout flow (card, cash, QR) , all client-side with no backend.

Technical Approach

How we built it

The order state is managed with useReducer rather than useState because the order involves multiple interacting sub-operations: adding items, adjusting quantities, applying modifier groups, and clearing. Each operation is a named action dispatched to the reducer, making state transitions predictable and traceable in React DevTools. The modifier modal intercepts the add-to-order action when an item has required modifier groups, completing selection before the item is committed.

Modifier groups are fully data-driven — each menu item in the data model specifies its modifier groups as an array of objects with a selection type (single or multi), a label, and options each carrying a name and price delta. The modal renders radio groups for single-select modifiers and checkboxes for multi-select ones, validating that required groups are completed before the item can be confirmed. Adding a new modifier group requires no UI code changes — only data.

The warm dark palette (deep amber and brown tones) is the default on load, reflecting the real-world POS context: restaurant counters and kitchens are typically dimly lit with warm ambient light, and a dark default reduces screen glare in this environment. Light mode is available as an alternative for operators who prefer a brighter interface or use the system in well-lit front-of-house settings.

Outcomes

What we delivered

A production-realistic POS demo that shows our capability to build operations software , complex state, real-world UX requirements, and a dark default for practical environments.

Full order flow from table selection to payment confirmation

Modifier groups with required/optional validation

Warm dark palette defaulting for real operational use

Three payment methods with animated confirmation

Technologies Used

Next.js 16TypeScriptTailwind CSS v4Framer MotionuseReducer

See it live

This is a fully interactive demo, not a static mockup. Click around, try all the features.

Open Till POS Demo

till.codalyst-tech.com

Want Something Like This?

We build production-quality products for clients worldwide: SaaS dashboards, POS systems, AI tools, and more.