The Challenge
Running a multi-node distribution network across Vietnam meant dealing with a logistics nightmare: warehouse staff at each location used disconnected spreadsheets and phone calls to coordinate inventory. Stock discrepancies were discovered days late, transfers were lost in WhatsApp threads, and no one had a real-time view of what was where. The client needed a single source of truth across 15+ warehouses and a mobile app that worked even when the internet didn't.
What We Built
We designed a hub-and-spoke architecture in .NET with a central REST API and SQLite-backed local agents at each warehouse node. WPF desktop clients handled barcode scanning and transfer orders; SignalR pushed real-time stock updates to the hub whenever connectivity was available. An offline-first sync layer (a prototype of what later became SyncFramework) queued all transactions locally and reconciled automatically on reconnect — no data loss, no manual re-entry.
The Outcome
Inventory discrepancy reports dropped by over 80% in the first quarter after go-live. Stock reconciliation that previously took the operations team half a day now runs automatically overnight. The system has been running in production since 2016 with only minor maintenance, handling millions of inventory movements across the network.
