Retail · Case Study

Unified inventory & checkout across 6 channels

APAC specialty retailer, 380 stores. Rebuilt order orchestration on event-driven architecture. Stockouts down, click-and-collect now 22% of revenue.

+22%BOPIS share
—41%stockouts
14 modelivery
ops.client.internal/orchestration
ORCHESTRATION
Order Orchestration · Live

All 6 channels · 380 stores · 4 DCs

HEALTHY98ms p99
12,847
Orders today
22%
BOPIS share
99.7%
Routing success
4
Stockouts
Channel mix — todayShare of 12,847 orders
In-store POS 42%Web 22%Mobile app 14%BOPIS 12%Marketplace 7%Wholesale 3%
OrderRouteStatus
#OR-184302 12s agoWeb → Store 027 (BOPIS) Picked
#OR-184301 18s agoApp → DC East Routing
#OR-184300 31s agoPOS-238 → Returns DC RMA opened
#OR-184299 47s agoMkt → Store 102 Split (2)
#OR-184298 1m agoWeb → DC West Backorder
#OR-184297 1m agoPOS-411 → Same-day Out for delivery
Mock for illustration. Live system details available under NDA.

The problem

Six sales channels (POS, web, app, marketplace, wholesale, social) each ran on its own inventory ledger. Promotions ran out of stock online while sitting in store backrooms. Returns initiated in one channel routinely failed in another. The board approved an omnichannel program three times in five years without it shipping.

How we approached it

  • Defined a canonical inventory model and a single source of truth — instead of replatforming each channel, we put a stream layer in front of all six.
  • Order-orchestration service handles routing, splits, partial fulfillment, and returns across any source/destination pair.
  • Click-and-collect rolled out to a pilot of 22 stores, then scaled to all 380 over 6 months.
  • POS replatform happened in parallel and went live last — by then the orchestration layer had already absorbed the change.

What changed

  • Click-and-collect went from 3% to 22% of revenue in 12 months — the single biggest revenue-mix shift in the brand's history.
  • Inventory stockouts down 41% with no inventory-level increase. Same stock, just visible across all channels.
  • Returns now process in a single hop regardless of channel. Customer-service ticket volume on returns dropped 38%.

Engagement details

Stack: Node.js, Kafka, PostgreSQL, ClickHouse, Next.js, iOS / Android native, AWS
Duration: 14 months end-to-end
Team: Solution architect + 12 engineers + 2 designers + 2 QA + commerce specialist
Engagement model: Full-cycle delivery, 18-month managed-operations agreement extended twice

Names and identifying details have been redacted where contractually required. The unredacted case packet — including architecture diagrams, commercial structure, and reference contacts — is available under mutual NDA.

Request the full packet →

Other engagements worth reading.

Recognize your situation here?

The fastest way to find out if we're a fit is a 30-minute call. We'll listen, share comparable cases, and tell you straight whether we should engage further.