I've used most of the major TMS platforms. Some were expensive. Some were supposedly industry-leading. Nearly all of them had the same problem: they were built by people who understood databases and workflows but had never actually dispatched a truck.
The tells are everywhere.
Field names that no dispatcher uses. "Carrier contact primary" instead of "dispatch number." "Origin facility identification" instead of "pickup." The software was designed from a data model, not from the mental model of the person using it.
Workflows that assume you have time. Multi-step confirmation flows for things that happen ten times an hour. Modals that require you to fill in every field before saving. The assumption that users sit at a desk with focused attention — not managing six drivers while the phone rings.
Missing context at decision time. When I'm assigning a load, I need to see driver hours, current location, next available time, and recent lane history — all on one screen. Most TMS products require three different views. By the time you have the full picture, you've already made the call instinctively and the software is just confirming it. That's backwards.
What good logistics software looks like:
It's designed around the rhythm of a dispatch day: morning assignment, midday check-ins, afternoon delivery confirmations, EOD billing. Every screen serves a specific moment in that rhythm.
It uses the language dispatchers actually use: "empty call," "hot load," "covered," "deadhead miles."
It surfaces exceptions first. Most loads run fine. The dispatcher's job is handling the ones that don't.
This is why I believe logistics software needs to be built by people who've worked in logistics — or in close collaboration with them from day one. The domain knowledge isn't a bonus. It's the product.