A European freight operation was running thousands of daily shipments on spreadsheets, Outlook threads and tribal knowledge. I led the design of the platform that replaced all of it. Three weeks on the warehouse floor at Roissy became a shipped product that took on-time delivery from 78% to 94% and cut a “where is my order” call from 20 minutes to under one.
| Order ID | Customer | Route | Status | Date |
|---|---|---|---|---|
| #SF-4821 | Nord Fret SA | Paris → Lyon | Delivered | Mar 4 |
| #SF-4820 | Atlas Distribution | Nantes → Bordeaux | In Transit | Mar 4 |
| #SF-4819 | Meridian Retail Group | Lyon → Marseille | In Transit | Mar 3 |
| #SF-4818 | Auvergne Components | Clermont-Fd → Paris | Pending | Mar 3 |
| #SF-4817 | RailCargo Est | Lille → Strasbourg | Returned | Mar 2 |
Global Logistics Network moves freight across France and continental Europe. By 2017 the operation had outgrown its tools: order status lived in Outlook, inventory in a shared Excel file, returns in a paper tray. Every handoff was a phone call, every mistyped quantity sent a pallet to the wrong depot, and clients were leaving because nobody could tell them where their freight was.
I joined as the only designer alongside four engineers and a PM, with a brief to “build a dashboard.” I reframed it. The gap wasn’t a missing screen; it was that no single system knew the truth about a shipment. That became the north star: one source of truth, readable under pressure, usable by a warehouse operator mid-shift with zero training.
We had budget for one module at a time, so sequencing was a design decision, not a backlog detail. I argued for Order Management first, ahead of the live map that demoed well, because it was the workflow every other role depended on and the biggest single source of manual error. Shipping it early bought us a real operator feedback loop for everything that came after.
Over three and a half years I owned the problem definition, the research, the information architecture, the full UI and the design system behind it. I set the success metrics with the PM and the operations director, ran the usability sessions, wrote the component specs, sat in sprint planning, and signed off every build against the designs before it shipped.
A platform this size fails by trying to do everything at once. Most of my first two months went into deciding what the product was, in what order it would arrive, and what it would deliberately not do.
Success was defined before design started. With the PM and the operations director I set three numbers the product had to move: on-time delivery rate, average order handling time, and the time it took to answer a client status request. Those three framed every review. If a screen did not move one of them, it waited.
I shadowed two full shifts of warehouse operators at Roissy, rode along on three delivery routes, and ran a workshop with dispatch and account management. Then I put every existing tool and every handoff on one wall.
The insight that changed the design: operators did not want a nicer tool, they wanted fewer places to look. The prototype that tested best was the one that put order, shipment and inventory state on a single row. That killed the tabbed, one-module-per-screen structure we had assumed and set the information architecture for everything after.
A second finding: the people under the most time pressure never used search. They scanned and filtered. So filter and sort became the primary interface and search dropped to secondary.
The artefact that outlived discovery was a service blueprint from order intake to delivery confirmation, with every failure point marked in red. It became the roadmap and the shared language for the next three years.
Discovery surfaced the same three failures across every role, and each one had a price attached.
Each of these was a real fork, with a cost on the other side. These are the ones I’d defend in a review.
StockFlow was designed around the four core workflows that mattered most to operators, built for speed, precision, and real-world conditions.
Baselines were taken in the month before Order Management shipped; the figures below are six months post-launch, rounded and shared with the client’s permission. Interface mockups on this page are illustrative reconstructions.
The three numbers we set at the start, and where they landed. On-time delivery: target 90%, reached 94%. Average order handling time: target under 4 minutes, reached 2.6. Time to answer a client status request: target under 5 minutes, reached under 1. Holding the team to a metric we agreed before any UI existed is the reason the scope never sprawled.
What I’d do differently. We built for operators and under-served the executives. They inherited a dense operational tool and needed guided summary views we didn’t ship until v2. And I briefed engineering on the field research second-hand instead of bringing them to Roissy; the missing context cost us two rebuilds that a shared afternoon on the floor would have prevented.