The user
Ops managers flying blind
The people running campaigns couldn't answer basic questions — how many hoodies are left in Europe, did that send actually arrive — without emailing a warehouse and waiting.
Case study Reachdesk · Inventory
Clients were shipping thousands of items through global warehouses with no way to see what they had or where it was. On a new squad, I helped build the inventory system from zero — turning a spreadsheet-and-email guessing game into a place you could simply look.
One item, tracked end to end — In transit
01 Context
Reachdesk sends physical gifts and swag on behalf of its clients, held in warehouses around the world. But clients had no window into that stock — how much was left, what was moving, what had gone wrong. My squad's job was to build that window from nothing.
The user
The people running campaigns couldn't answer basic questions — how many hoodies are left in Europe, did that send actually arrive — without emailing a warehouse and waiting.
The gap
Stock lived in disconnected spreadsheets and inboxes. There was no shared source of truth, so numbers drifted, sends stalled silently, and trust in the platform eroded.
The brief
A brand-new squad, a blank canvas, and one goal: a proper inventory area where clients could see, track and act on their stock themselves.
02 Research
Before designing a single screen, I mapped the real questions ops managers and warehouse staff were firing back and forth — because the inventory section only had to do one thing well: answer them instantly.
Watching how clients actually chased stock and shipments — the workarounds, the panic before a big campaign, the questions that had no fast answer.
Understanding how the physical operation really worked — picking, packing, states, exceptions — so the data model matched reality, not a wish.
Reading months of "where is my order" tickets to find the handful of statuses and views that would deflect most of them.
Testing the list, filters and item view against real campaign scenarios, watching where people still felt unsure and tightening until they didn't.
People didn't want dashboards or charts first — they wanted one scannable list where the answer to "what's happening" was visible without clicking into anything.
The default view is a dense, calm table, tuned so status and location read at a glance.
Every worried email came down to one unknown: what state is this in? "In transit", "delivered", "cancelled" carried real emotional weight for someone mid-campaign.
State became a first-class, colour-coded element — consistent everywhere, never buried.
A status alone wasn't enough; people wanted to know the story behind it — when it shipped, where it was, what happened. Without that, they still emailed to double-check.
Each item opens to a timeline of its journey, so the status is always backed by evidence.
03 The design
The whole section rests on three decisions that turned an invisible operation into something a client could simply read.
Decision 01
A single, scannable inventory list is the front door. Item, warehouse and state sit on one line, so the most common questions are answered before anyone clicks — or filters — anything.
The list replaced the "where is my order" email
Decision 02
A small, consistent set of colour-coded states — processing, in transit, delivered, cancelled — used identically across the list, the item view and every notification. Learn it once, read it anywhere.
Status stopped being a guess
Decision 03
Open any item and its full journey is there — ordered, packed, shipped, delivered, with times and locations. The status is never asserted without the evidence behind it.
A status you could actually trust
Product The inventory list
The default view: every send with its items, warehouse and state, tuned so a busy ops manager can scan the whole page and know exactly what needs attention — and what doesn't.
Inventory
Live stock and shipments across your warehouses
Amina Khan
Field marketing
Erik Lund
Sales, EMEA
Maria Reid
Customer success
David Osei
Partnerships
Priya Sharma
Events
Items stack inside the row so a whole send reads on one line, without the table exploding.
Four consistent, colour-coded states — the same everywhere they appear across the product.
Filter by the two things people actually asked about: what state it's in, and which warehouse holds it.
Product The item journey
Open a send and the full journey is there — ordered, packed, shipped, on its way — with times and locations. The status on the list is never a claim you have to take on faith.
Journey
Ordered
Send created and confirmed
Picked & packed
Rotterdam warehouse
Left warehouse
Handed to carrier · DHL
In transit
Out for delivery soon
Delivered
Awaiting confirmation
The trail is the trust
A status on its own invites a follow-up email. A status with a timestamped journey behind it ends the conversation — the client can see for themselves.
Times and locations at every step, so "in transit" means something specific and checkable.
The same four states and the same colours as the list — no new vocabulary to learn on this screen.
The final step is clearly "awaiting confirmation" rather than faking certainty the system doesn't have.
Product Stock at a glance
Above the list, a quiet health strip surfaces the things worth knowing before you hit send — what's running low, what's stuck, what's moving — so problems are caught early instead of discovered mid-campaign.
Items in stock
3,420
across 4 warehouses
Low stock
6 SKUs
reorder recommended
In transit
214
items moving now
Delivered this week
1,180
↑ 12% on last week
Only the numbers that change a decision get surfaced — low stock and stuck items earn the amber.
Amber means "needs attention" here exactly as it does on the list — the system stays coherent.
It sits quietly above the list; it informs the scan without competing with it for attention.
04 Trade-offs
Warehouse ops tracked a dozen granular statuses. Clients needed a handful they could actually reason about.
Map the many internal states down to four client-facing ones — clarity for the client, full detail kept underneath.
A metrics dashboard demos well. But research said people wanted to scan a list, not read charts.
Lead with the list; keep the health numbers as a quiet strip above it, not the main event.
Ops managers wanted a lot on screen; too much would make it unreadable and stressful.
Stack items within a row and hold generous spacing, so the table is dense but never overwhelming.
Process Building from zero
There was no inventory section to iterate on — so the first job wasn't screens, it was agreement. I worked with engineering and warehouse ops to define the data model and the states before any UI, so we were all building the same thing.
01 · Define
I facilitated the squad to nail down the client-facing states and what each one truly meant, mapping them to the warehouse's real operational statuses. That shared vocabulary became the backbone of the whole section.
My partI framed the model in the language of the client's questions, not the warehouse's process.
02 · Prototype
I prototyped the list, item view and filters quickly so ops, engineering and client success could react to something real — surfacing edge cases like partial shipments and cancellations early, while they were still cheap to solve.
My partI turned the abstract model into screens people could argue with and improve.
03 · Ship & learn
We shipped the core list and item journey, then watched real usage and support tickets to see which questions still slipped through — feeding the stock-health strip and low-stock view that followed.
My partI kept the section honest to its one job: answer the question without an email.
05 Outcome
Clients could answer their own "what do I have and where is it" questions without emailing a warehouse
The list and item journey deflected the routine status chases that had filled support inboxes
The states and model became the base other inventory features — low stock, notices — were built on
What came next