Automation PlatformLogisticsRepresentative case study

Giving Dispatch Decisions a Consistent, Auditable System

How VertexOps replaced informal dispatch coordination with rules-based routing and a full decision audit trail.

View project overview →

Customer context

VertexOps coordinates field operations across a regional logistics network, historically managed through a mix of phone calls, spreadsheets, and individual dispatchers' judgment and experience.

The challenge

Dispatch quality varied significantly depending on which dispatcher was on shift, and coordination gaps were common during shift changes or high-volume periods when context didn't transfer cleanly between people. There was also no systematic record of why a given routing decision was made, which made it hard to improve the process over time.

Requirements

Discovery

We shadowed VertexOps' dispatch team for several shifts before designing anything, cataloguing which decisions were genuinely routine — the majority — versus which required real judgment calls informed by context that wasn't written down anywhere. That distinction became the core design principle: automate the routine majority explicitly, and make the exception path better-informed rather than trying to automate it away.

Solution

We built a rules-based routing engine that evaluates incoming jobs against defined criteria — location, capacity, priority — and assigns routine jobs automatically. Genuinely ambiguous cases are queued for dispatcher review with relevant context pre-surfaced, rather than requiring the dispatcher to gather that context manually as before.

Technical architecture

The rules engine evaluates each incoming job against current fleet status, pulled in real time from VertexOps' existing fleet tracking system, and defined routing criteria. Jobs meeting clear automatic-routing criteria are assigned directly; everything else enters a review queue with the relevant fleet, location, and priority context already assembled. Every decision — automated or dispatcher-made — writes to an audit log capturing the criteria or reasoning involved.

Implementation approach

We ran the rules engine in shadow mode initially — generating routing recommendations alongside the existing manual process without acting on them — so VertexOps' operations lead could compare the engine's decisions against actual dispatcher decisions before any automation went live. Discrepancies were reviewed together to refine the routing criteria before automatic assignment was turned on for any job category.

Key features

Integrations

Challenges & decisions

The shadow-mode period ran longer than originally planned — several weeks rather than several days — because the first version of the routing criteria disagreed with experienced dispatchers more often than expected. Extending shadow mode to properly refine the criteria, rather than launching on the original schedule, was the right trade-off: it meant the automated decisions were trustworthy from day one of going live.

Representative outcomes

More consistent dispatch decisions

Standard cases are routed the same way regardless of which dispatcher is on shift.

Full audit trail

Routing decisions are now traceable, where previously there was no record.

Fewer coordination gaps at shift changes

The system, not an individual dispatcher's memory, carries context forward.

Validated before automation

Shadow-mode testing caught criteria gaps before they affected real dispatch decisions.

Technology stack

Node.jsPythonPostgreSQLRedis

In their words

Running the routing engine in shadow mode before it made a single real decision was the right call, even though it took longer than we originally planned. When we finally went live, the dispatchers trusted it because they'd already seen it agree with them for weeks.

RA

Renata Alves

Operations Lead, VertexOps

Related services

Interested in a similar outcome?

We're glad to walk through how this approach would translate to your situation.