Where it started.
The distributor took orders by phone and WhatsApp, tracked stock in notebooks and kept mobile money receipts on separate statements. Management discovered stock-outs after the fact and spent three days at every month end reconciling payments.
The challenge
Provide a reliable view of sales and stock without imposing a heavy tool on shop managers who work on smartphones, often with an unstable connection.
- Patchy 3G coverage in several shops.
- Shop managers using entry-level Android phones.
- Cash and mobile money payments to reconcile in one place.
- Short training, in Wolof and French.
What we built.
A progressive web app (PWA) that works offline and syncs as soon as the network returns, connected to a back office for management. Mobile money payments are reconciled automatically through the operators’ APIs.
- Offline order entry and stock counts, synced in the background.
- Mobile money payments with automatic reconciliation.
- Low-stock alerts and suggested restocking per shop.
- Order confirmations sent on WhatsApp.
- Sales dashboard by shop, product and payment method.
How the project ran.
- 01
Immersion. Two weeks in the shops observing sales, restocking and end-of-day cash-up.
- 02
Prototype. A sales journey tested by six shop managers before any development.
- 03
Pilot. Five shops for four weeks, with weekly adjustments.
- 04
Rollout. All 38 shops in three waves, with on-site training and a Wolof video guide.
What changed.
Indicators tracked after launch.
Same day
payment reconciliation, down from three days
-41%
stock-outs on the 50 key products
92%
of orders entered in the app after three months
What made the difference
Offline mode was designed from day one, not bolted on at the end. Shop managers never had to choose between selling and recording.
Technologies
React PWA · Node.js · PostgreSQL · API mobile money · WhatsApp Business API