// case 03 — v1 embedded 2019—21 · v2 led on contract, 2024 · shiplane
./relay
role:
design lead, v2 (contract)
team:
1 pd · 8 eng · 2 pm
timeline:
feb — oct 2024
platform:
desktop web · ops
$ cat ./context
the problem
1 in 12 jobs was going to the wrong driver.
i designed relay v1 while embedded at shiplane (2019—21). it worked — then the company 4×’d, and the board grew into a junk drawer of filters, tabs and modals.
the brief >
“give dispatchers one screen they never have to leave.”
−57%
mis-assignments within two months
90 s
median time per dispatch (was 8 minutes)
94%
dispatcher adoption in six weeks, 12 depots
6 → 1
tools per shift (the phone survived)
$ cat ./process
research → flows → iterations
(a) research
14 hours of shift shadowing beats any survey.
(b) flows
the board became the single source of truth. keyboard first.
map + queue side by side, exceptions promoted to their own lane, and a command palette so a dispatch never needs the mouse. everything else — carrier data, driver chat — pulled in, not linked out.
(c) iterations
one depot piloted live. then twelve.
we ran the bilbao depot on v2 for four weeks while the rest stayed on v1 — same jobs, two systems, honest numbers. the command palette’s discoverability failed in week one; a visible “⌘k” hint fixed it.
$ open ./solution
what shipped
assign, reroute, message — every action reachable in two keystrokes. power users never touch the mouse.
at-risk jobs surface themselves. no more hunting through filters while a truck idles.
$ tail ./outcome
after launch
v2 rolled out to all 12 depots by october 2024. the two spreadsheets were formally retired in november — a small internal funeral was held.
— depot lead, bilbao · pilot retro