Back

Case Study · B2B Wholesale Ordering App

Turning a manual wholesale process into a mobile-first ordering experience.

2024iOSAndroidReact NativeRetail

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.

01

Orders placed informally meant no audit trail — disputes with retailers were difficult to resolve and trust eroded over time

02

Sales reps spent most of their day relaying orders rather than building accounts — limiting growth without hiring more staff

03

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

Build something similar