Product Design · April 2026

ClearPathDesigning a Supply Chain Where Both Sides Know Who Acts Next

  • ClearPathClient
  • Product DesignDiscipline
  • Factory and buyerScope
  • Desktop webPlatform
View live product
ClearPath screens tiled across a green field, factory and buyer views side by side.

Tl;DR

A garment factory and the buyer waiting on it, working one shipment. I designed both sides.

Purchase order to arrival. Two role-scoped shells, one record, and one rule holding them together.

Problem

But.. whose job is it to fix this one?

Production updates lived in emails. Quality control happened over WhatsApp. A buyer learned about a delay by missing the window.

My role

Two shells. Two different jobs.

A factory needs to know what to do this morning. A buyer needs to know what is at risk across every factory. Same shipment, opposite questions.

Factory dashboard with a ranked pending-actions queue, an action-required banner and active shipment cards.
factorya ranked to-do list
Buyer dashboard with five KPI cards carrying sparklines above a table of every open order.
buyerevery open order at once

The queue

A dashboard nobody reads. A queue they do.

So the factory lands on work, not metrics — acknowledgements, overdue updates, photos and documents, each ranked and counted, with the read-only context pushed below it.

counts and severity dots rank the work
before anybody reads a number

Production updates screen with filter tabs carrying live counts, a bulk edit header and per-row date and status controls.

Validation

Catch the mismatch, not the customs fine.

Invoice, packing list, air waybill and line items are checked against each other, and every discrepancy is named with its arithmetic — the weight gap, the carton count, the conflicting code.

Data ingestion screen with four document upload slots in different states, a severity summary strip and alert rows naming each mismatch.

a mismatch you can read is a mismatch you can fix

Batching

A shipment is a decision, not a form.

Factories tick the purchase orders going in one crate and a floating bar keeps the running count and total units in view, so the batch is confirmed before anything is committed.

Purchase order selection list with rows ticked and a floating summary bar showing items selected and total units.

the count follows you down the list

Allocation

Reserve stock without losing your place.

Picking a line on the left opens its arithmetic on the right — ordered, required, reserved, still needed — so committing stock against one purchase order never costs you the filtered list you were working through.

the list stays put
while the maths opens beside it

Two-panel allocation screen with a master table of ordered, reserved and remaining quantities beside a per-SKU detail rail.

In flight

Triage the table. Open only what is wrong.

Every shipment across every factory compresses to a five-dot stage indicator, a countdown and a status badge — so the row tells you whether to click it. Open one and a customer-impact rail names who is waiting.

Shipment tracking table with origin, factory, a five-dot stage indicator, arrival countdown and status badges.
the listread it without opening it
Buyer shipment detail with the four-stage tracker, carrier and airport details and a customer impact sidebar.
the detailand who is waiting on it

Missing things

The gate is the document, not a reminder email.

Four documents, each with its upload time or a red flag where there isn’t one. The stage on the tracker will not advance until all four exist, so chasing paperwork stops being somebody’s job.

Shipping documents panel listing four documents with upload timestamps and one flagged not uploaded in red.

one red row is the whole status

Judgement

Shipping now is a choice. So show the other one.

Current fill, a time-scoped projection and a recommendation sit in one row, so waiting is something the operator can weigh rather than something the system simply asks for.

the projection sits beside the advice,
so you can see why waiting pays

Order detail with current fulfilment, a look-ahead projection, a fill ring and a recommendation card above the line item table.

Exceptions

The row’s status decides the row’s action.

Expected against received, variance computed as you type. Surplus offers to allocate, shortage offers to log an issue, matched offers nothing — the table routes the exception instead of flagging it.

Product reconciliation table with editable expected and received quantities, a computed variance column and a different action per outcome.

one table, three outcomes, three different buttons

Underneath

Stock and customers are the same question, asked twice.

What is free to promise, and who has earned it first. So the warehouse table bands rows by stock health with additive filters, and every customer carries a priority gauge and a fill rate next to their open orders.

Warehouse stock table listing SKUs with quantity in stock, free stock and allocated, filterable by department and location.
stockwhat is free to promise
Customer detail with a configurable priority gauge, open order count, fulfilment rate and tabs for orders and activity.
customerwho has earned it first

The decision I’d defend

The priority score is not a black box.

Every ranking in the product comes from weights an ops lead can see and change — response speed, payment terms, flexibility, standing. Arguing with a number beats filing a ticket about it.

Business rules screen listing named scoring conditions with numeric adjustments, negatives in red, and per-rule toggles.

the weights that rank everything else, in one editable list

Impact

One record, two responsibilities, no ambiguity about whose turn it is.

The factory uploads the evidence and the panel locks. The buyer gets a live three-way decision. Nobody chases a WhatsApp thread to find out which of those two things is true.

Factory quality control detail with uploaded inspection photos and a status panel reading pending customer review.
factoryevidence in, then locked
Buyer quality control review with the factory photo grid and pass, fail and rework offered as equal choices.
buyerpass, fail or rework

What this taught me

On a two-sided tool, the hardest thing to design is the handover.

Both sides were happy to do their part. What broke was the gap between them — so the interface had to name the owner before it showed anybody a number.