How we run our fleet day to day: data, paperwork and people
If you ship with us, partner with us or drive for us, three questions matter every day: where is the truck, does the driver have the hours for the next trip, and has the paperwork come in? We answer them with one operations system, built and run with the SharpLean team. Statuses are as of 22 October 2026; volumes are rounded.
One view, fed by data we already have
Our office works from one dashboard, in the browser and as a desktop app. It reads only data that is ours or shared with us: LocTracker telematics on our trucks, every minute; Wialon and CargoTrack for partner carriers' trucks, with read-only access from each partner; DKV fuel-card invoices; and the office's Google Sheets, read but never written to. Drivers keep using our company Telegram groups, which carried over 10,000 messages in the week to 21 October. Over 50 scheduled programs keep the picture current.
We take contract tours and spot loads on a major load-board platform. No program of ours logs into its portal or books anything there; people do that. Trip data comes from notification e-mails in our own mailbox and from an export a person downloads, which reaches our server by upload, e-mail or our desktop app.
Driving time and alerts: plain code, human decisions
For each driver whose tachograph we read through LocTracker, the dashboard shows the hours left. Every two minutes, plain code turns this into a verdict per driver: can continue, must take a break, will not legally reach the destination, next trip at risk, near a limit, or no data. The rules follow EU Regulation 561/2006, and no AI model does this arithmetic. A truck whose tachograph we cannot read gets a GPS estimate marked "~", never a legal figure. When a dispatcher saves an assignment, the server refuses one that overlaps another trip of the same driver.
Every 15 minutes a rules engine posts alerts to the dashboard and a Telegram group: what happened, which truck, where and what to do now. Urgent cases such as a missing trailer are checked every 3 minutes, with no AI in that path.
People decide who drives which trip and what a driver is told. Today, any program that could message a driver or write to the trip board starts in shadow, recording what it would do without doing it, with caps and an off switch.
Paperwork read from drivers' photos
Drivers photograph the CMR, the seal and the trailer in their truck's group, as before. Since 20 October, drivers on a verified list also have a four-button menu there (CMR, seal, trailer, other document) that labels the photos sent after a tap.
PDFs with text are read first, without AI. Photos and scans go to a commercial AI model in a locked sandbox, one file at a time, with no network access. A reading counts only if it matches exactly one real trip number on a closed list. Our documents view shows, per trip, what has arrived and what is missing, with every reading labelled and kept apart from facts. Using a reading to change a trip's status or assignment stays a human decision.
A separate photo engine labels every new photo and checks, while the driver is still at the ramp, whether the CMR is missing or unreadable. Its labels have fed the documents view since 20 October. Its notice to drivers, piloted in one truck group, sent one message and has been paused since that day.
What we learned along the way
- Text before AI. A model reading only photos got 9 of 20 trip numbers wrong, 6 of them real numbers of another trip. So the text layer goes first; a closed list alone would have let 6 of them through.
- Reading is not matching. Checked by eye on 15 October, 81 of 82 papers were read correctly, yet only 33 of 80 showed on their own trip. Tested on stored copies before going live, two fixes raised that to 69 of 80; live accuracy is not yet measured.
- Shadow before speaking. Replayed against two sets of photos with known answers, the photo engine made 13 correct requests and 2 wrong, then 10 correct, none wrong and 1 missed. That was below our threshold, so it stayed in one pilot group.
- Automatic writes can hide work. A loop that moved trips forward by itself wrote 19 status changes in a week, and a trip wrongly marked completed vanished from the active views for 12 days. We removed the loop.
- A review that said no. Our first design for two-driver crew windows would have shown 5 h 15 min of driving window that did not exist. It was not shipped.
- Not contradicted is not confirmed. In its first 8 days in shadow, the assignment engine judged about 420 trips and would have assigned only 15; none of its first 11 audited decisions was contradicted. By 22 October, one of 20 had been.
What is still in progress
Several programs still run in shadow, including driver assignment; requests to drivers for pickup photos at assignment and delivery documents on arrival; an automatic "completed" status when the trailer is left at the destination; and a trailer-swap check.
None of this replaces our dispatchers or drivers: it puts hours, positions and paperwork in one place, and people still decide. More detail is in our case study.
