Case Study · B2B Wholesale Ordering App
Turning a manual wholesale process into a mobile-first ordering experience.
Challenge
Retailers were placing orders through WhatsApp voice notes and printed catalogues.
The wholesale supplier had hundreds of retail accounts placing orders daily — none of it was digitised. Sales reps forwarded WhatsApp messages to warehouse staff, prices were negotiated over calls, and credit limits were tracked on spreadsheets nobody fully trusted. Errors were routine. Disputes over what was actually ordered were weekly.
The challenge wasn't just digitising the catalogue. It was replacing a system held together by personal relationships and informal processes with something retailers would actually prefer to use — without losing the flexibility that made those relationships work.
Orders placed informally meant no audit trail — disputes with retailers were difficult to resolve and trust eroded over time
Sales reps spent most of their day relaying orders rather than building accounts — limiting growth without hiring more staff
Retailers had no visibility into stock levels or delivery status, leading to constant check-in calls that slowed everyone down
Discovery
The real product wasn't an app — it was trust made visible.
We spent time with retailers in-store and with reps in the field before writing a line of code. What we found: retailers didn't distrust technology — they distrusted ambiguity. They needed to know exactly what they ordered, what credit remained, and when stock would arrive. Every informal workaround existed to fill that information gap.
We also discovered that most retailers ordered from mobile, on the shop floor, often with one hand busy. The interface had to be fast, scannable, and forgiving of interruptions — not a desktop experience squeezed onto a phone screen.
Primary users
Retail store owners and buyers ordering on-the-go
Key behaviour
Repeat ordering — 80% of orders were the same 20% of products
Key friction
Uncertainty: stock availability, pricing, and credit status
Platform
iOS and Android — built once with React Native
Strategy
Built from scratch for the way wholesale actually works.
We designed around the repeat-ordering pattern first. Quick reorder from history, saved favourites, and one-tap cart population meant experienced retailers could place a full order in under two minutes. First-time flows were built separately — clear, guided, unhurried. The architecture was offline-first: draft orders survive lost connections, and the catalogue is cached so the shop floor is never a dead zone.
Features built
Product Catalog
Browse thousands of SKUs by category, brand, or supplier with instant search
Bulk Ordering
Add multiple quantities across dozens of products in a single order session
Order History
Full purchase history with reorder-in-one-tap for repeat restocking runs
Credit & Invoicing
View available credit, payment terms, and outstanding invoices in-app
Delivery Tracking
Real-time order status from confirmed through to delivery
Price Tiers
Personalised pricing per retailer account — no manual negotiation needed
Returns & Claims
Submit damaged-goods claims with photo evidence directly from the app
Push Notifications
Alerts for order confirmations, dispatch updates, and credit limit changes
Offline Browsing
Browse catalogue and draft orders without a network connection
Account Management
Switch between multiple retail outlets under one login
Outcome
Ordering moved to the app within weeks — not months.
Adoption was faster than expected because the app solved a real frustration retailers had already been living with. Order disputes dropped sharply — every order was now timestamped, itemised, and confirmed. Sales reps shifted from order-taking to account development. The supplier gained a full picture of ordering patterns for the first time.
Building from scratch meant no legacy constraints. Every decision — from the data model to the navigation structure — was made for this specific context, not inherited from a generic e-commerce template.
Technical foundation
Mobile
React Native · TypeScript
Backend
Node.js · NestJS
Navigation
React Navigation 7
Notifications
Firebase Cloud Messaging
Platforms
iOS · Android