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