The workflow before
The dispatcher spent roughly 2.5 hours each day reading job notes and manually reassigning vans. Over the course of a year, two people left because of the work. The problem was not just time pressure; it was the constant cognitive load of doing the same triage task by hand.
Constraints we could not change
Scheduling data lived in a hosted tool with a read-only API. The dispatcher would not use a new application, so the workflow had to live inside SMS. The owner also would not approve any approach that touched customer payment data.
What we deliberately did not build
We did not build auto-reassignment. That would have been the most “intelligent” solution on paper, but it would have been the wrong one in practice. The dispatcher did not trust automation, and the business would have turned it off in week one. We chose suggestion plus one-tap approval instead.
What broke in week two
The first real failure mode was a data quality issue: job notes used inconsistent van nicknames such as “big blue” and “V-3.” That broke the matching logic in the exact place where trust mattered most. We fixed it with an alias table the dispatcher can edit herself, which is the kind of operational detail that separates something that ships from something that only demos.