Case studies/Logistics and freight
A 40-truck drayage operator working the Port of LA and Long Beach, with dock-signed BOLs photographed on personal phones and keyed twice into the dispatch tool and CargoWise. We built a pipeline that captures the photo once and updates both systems, with LandingAI handling the handwriting.
| Move | Container | Carrier | Pickup | Drop | BOL | Status |
|---|---|---|---|---|---|---|
| D-22104 | MSCU7418326 | NorthStar Drayage | POLA T-401 | Carson DC | closed | delivered |
| D-22105 | MAEU3920841 | Pacific Container Lines | POLB Pier J | Rancho Dominguez | closed | delivered |
| D-22106 | HLXU8842117 | NorthStar Drayage | POLA T-300 | Mira Loma WH | en route | pickup confirmed |
| D-22107 | MSCU7418559 | Long Beach Hauling | POLB Pier T | Fontana DC | closed | delivered |
| D-22108 | OOLU6611204 | Harbor Drayage Co. | POLA T-200 | Wilmington CFS | hold | chassis shortage |
| D-22109 | CMAU4477903 | Pacific Container Lines | POLB Pier A | Ontario WH | closed | delivered |
| D-22110 | TCLU9015772 | NorthStar Drayage | POLA T-100 | Vernon DC | en route | en route |
| D-22111 | MAEU3920988 | Long Beach Hauling | POLB Pier G | Carson DC | closed | delivered |
At a glance
A small fleet, two systems, one dock-signed BOL per move. The paperwork had to ride the driver's phone, not the dispatcher's keyboard.
The engagement
The stack
ISO 27001 · ISO 9001 · DPA and NDA signed at kickoff.
Before, the dispatch desk
Dispatch worked. It worked on the backs of two keystroke rounds and a photo folder nobody wanted to open on a Monday.
Every move ended with a BOL the driver had to photograph at the consignee dock and send back. Dispatch received it in a text thread, saved it to a shared folder, and keyed the details. A missed photo meant a phone call at 6pm.
Pre-build baseline: approximately 7% of BOLs arrived with a gap requiring a call to the driver that evening.
The custom dispatch tool was the ops system. CargoWise was the shipment system of record. The two did not talk. Dispatch keyed container number, seal, weight, and signature status into each, one window after the other.
Pre-build baseline: 6 minutes per BOL, measured across a week on the Long Beach desk.
Consignee signatures, exception notes ("seal broken", "2 pcs short"), and manual weight corrections were scribbled on the dock copy. The existing OCR tool handled typed sections only. Handwriting routed to manual review, which ran a day behind on bad days.
Pre-build baseline: handwritten notations on approximately 18% of BOLs, none machine-read.
What we built
The pipeline follows the same five stages we run on every logistics engagement. The details below are the ones we wrote against this fleet's driver behaviour and the two systems dispatch already operates.
Drivers upload via a lightweight mobile form tied to their driver ID. Yard kiosk drops scans to SFTP. Broker email polled on a 5-minute cadence. All normalised to a single BOL ID per move.
Every BOL split into handwritten and typed regions on ingest. Handwritten zones route to LandingAI. Typed zones route to LlamaParse. Classification confidence below 0.88 routes the entire document for review.
Container number, chassis, seal, pieces, weight, consignee signature, exception notes. Signature presence detected as a binary flag. Exception notes captured verbatim for dispatcher review.
Container and seal cross-checked against the dispatched move record. Weight within tolerance against the delivery order. Below 0.90 confidence or any exception note, the BOL holds for dispatcher review.
Matched BOLs posted to the custom dispatch tool and CargoWise in the same transaction. Source photo attached to both. Exceptions surface in a named dispatcher queue with the flag in plain English.
After, the numbers dispatch signs off
Same drivers, same 40 trucks, same two systems. The pipeline replaced the keystroke round with a single upload path and fed dispatch a clean record per move.
Dispatchers still own the exception queue. Drivers still photograph the dock copy. The difference is that one photo updates both systems, the handwriting is read, and the Monday morning review of the weekend photo folder does not exist any more.
From the yard
The drivers never changed what they do. The dispatch desk stopped keying the same BOL twice, and the weekend photo folder disappeared.
Dispatch supervisorPort drayage operator, Long Beach
Handover
The engagement ends at a clean handover. Dispatch runs the pipeline; Hexaa stays on call for a fixed retention period, then steps back.
Related cases
Each links to a named client, a named document, and the system the clean data lands in. We publish only what the client signed off to publish.
16,000 PODs a month captured from dock scans, driver photos, and faxes. Billing close-out moved from 48 hours to same-day.
→Logistics · 2025Global forwarder · port-side customs packets28,000 customs packets a month reconciled inside a four-hour clearance window. LlamaParse on intake, CargoWise as the system of record.
→Logistics · 2023Freight forwarder · commercial invoice variancePacket-level variance flagging against the packing list before filing. 8,400 packets a month, US-EU lane.
→Free 30-minute call
You'll leave with a clear next step.
The driver's phone delivers one photo. The pipeline reads it once, extracts container, seal, weight, and signature, and writes both the dispatch tool and CargoWise in the same transaction. The dispatcher sees a clean record in both windows.