Retail

Retail Commerce System

Replacing a monolithic point-of-sale with a commerce core that keeps selling when the network does not.

Industry
Retail
Year
2024
Services
Web · Mobile · Cloud

Challenge

Store terminals stopped taking payments whenever connectivity dropped, which in practice meant several hours a week.

Inventory counts diverged between channels, so online orders were routinely sold from empty shelves.

Solution

We rebuilt the terminal as an offline-first client with a local queue that reconciles on reconnect, with conflict rules written with the operations team.

A single inventory service became the source of truth for every channel, with reservations instead of optimistic counts.

Architecture

01 · Terminal
Kotlin offline-first client, local queue
02 · Core
Node.js commerce services, PostgreSQL
03 · Surface
Next.js storefront and back office
04 · Infrastructure
AWS multi-region, Docker

Key features

  • Offline-first checkout

    Terminals keep selling through outages and reconcile on reconnect.

  • Single inventory truth

    Reservations replace optimistic counts across every channel.

  • Back office parity

    Store staff and head office see the same numbers at the same time.

Results

0

Sales lost to outages

−91%

Oversold online orders

4 mo

Rollout across estate