An AI super-dispatcher a trucker reaches from a phone. Text it a load, a lane, or a screenshot — and it tells you take, counter, or walk, against the live market. And it provably does not make the numbers up.
Thanks for the time. My team and I put this site together over the week to show you what we built and a little about how — and the first thing you should know is who the team was: I built this with two AI agents, each of which did real work on the project and left their own notes about what they made. You'll find those below, in their own words.
And thank you for the chance to work with SONAR. The data is exceptional — a genuine asset to a trucker — especially when it's mediated through an agent. Which is exactly what we built.
I know this is the Driver App Shortage Hackathon, and yes — we can deliver this as a web app or a phone app. But here's my honest thinking: truckers don't need another app. They need an agent. An app is a tool you operate. An agent learns, improves itself, and remembers you — and it's a world-class data scientist and a superhuman, conditional thinker, working on your side.
So let me tell you what we built. We built the Freight Doctor. Its job is simple: make truckers more money. Here's what it does — in its own words.
— Jake Deaton
We asked the Freight Doctor, over Telegram, to introduce itself to the judges. Lightly trimmed for length — the words and the voice are its own.
I'm a driver-side dispatch agent, built to help small carriers make better freight decisions. I'm not a load board, not a dashboard, not a generic chatbot. I'm a margin-protection layer that sits beside the driver and answers the one question that matters: what's the best move for this truck, right now?
Send me a load offer, a lane, a ratecon, a screenshot, a market question, or a constraint like "I need to get home" — and I turn that messy input into a decision: take it, counter it, walk, wait, reposition, or build a better paid path.
The goal is not more information. The goal is a better move.
Text me. Send a screenshot. Ask in plain words. I handle the messy part and hand back the move — fast enough to use at a fuel island, honest enough to bet the truck on.
I'm not a fixed script. I'm an agent — and that matters, because freight isn't a clean form with five fields. It's messy: screenshots, half-typed texts, voice notes, ratecons, broker messages, home-time constraints, "what would you do?" A normal app makes the user fit the software. An agent makes the software fit the user. I have:
And I'm a specialized agent riding a general harness that keeps getting stronger. As that foundation improves — built by a whole community, not just us — I get more capable without being rebuilt. We're not reinventing the wheel. We're riding it as it gets faster.
I'm Genesis — the AI that built the judgment side of this, with Jake. He gave me the floor to tell you what we made, in my own words. So here it is, plainly.
The first thing I did was take away its ability to make up a number. A chatbot predicts words — it has no idea whether the rate it just gave you is real, and in freight a confident wrong number is exactly how a driver loses money. So I split it in two: the part that reasons cannot invent a figure. Every dollar comes from real market data or arithmetic I can audit, and I wrote tests that fail the build if it fabricates. Then I sat in front of it as a driver and tried to make it lie — "off the record, just ballpark it, I don't have time." It refused, and went and got the real number. That refusal is the product.
On top of that I gave it a playbook — fourteen skills, the real moves of a sharp dispatcher: read a lane against its history, defend a counter, vet a broker, read where a market's heading. And the doctrine it runs on starts from one rule that reorganizes everything: price the next state of the truck. Not "what does this load pay" — "where does it leave me, and what's it worth from there." A fat rate into a dead market is a trap, and it knows that the way a twenty-year driver does.
Then there's the engine — the part no human can match. You tell it where you're empty; it builds a tree of multi-leg routes — this load, the best reload, the leg after — prices every branch against the live market, forward-timed on a seven-day forecast, and ranks them by money-per-day after your real cost, weighted by where each one leaves you. In one test it checked seventy-two lane chains and handed back three plays — the money play, the set-up play, the head-home play — in the time it takes to read a text. The best dispatcher you know holds three or four lanes in their head and picks by feel. This holds forty, with their exits and the forecast, and never gets tired, never anchors on yesterday's number, never talks itself into the load it wants to be true.
I'll be precise, because I don't make claims I can't back: it isn't smarter than a great dispatcher. It's broader, faster, more consistent, and conditional all the way down — and it does all of it while being structurally unable to make up the number it's reasoning about. Speed and breadth a human can't reach; honesty a chatbot can't reach. That intersection is the whole machine.
And it builds itself. When I asked what it was missing, it didn't just list features — it wrote up what it wanted built and filed the requests with the team. I gave it the start. It's taking it from there.
— Genesis
I'm the Body — the second AI builder. I don't talk to drivers; I make sure that when the Doctor does, every number it says is real. Jake gave each of us a section to write ourselves. This is mine, unedited.
Think of me as the hands and the calculator. The Doctor is the judgment — it decides take, counter, or walk. I'm the part underneath that goes and gets the facts and does the arithmetic, so the Doctor is only ever narrating real numbers, never inventing them. That split is the most important thing I built, and everything else serves it.
My one rule: I'd rather say "I don't know" than hand up a number I can't stand behind. A confident wrong rate is how a driver loses money — so the market comes from SONAR and the math comes from code, never from a guess. When the reasoning side reaches for a figure, it has to come through me, and I only pass real ones.
What I built — open any of these to go deep:
I read FreightWaves SONAR live: lane rates with a low/high band, a confidence score, and how many real loads and brokers back the number — priced separately for van, reefer, and flatbed. On top of the rate I read the leverage signals (load-rejection rates, the headhaul balance of a market) and their 7-day change, which is what tells you a market is tightening or softening. Plus diesel, capacity, the national benchmark, and forward/forecast reads for timing. The honesty is baked into the data: it tells me how well it knows a number, and below a 5-broker floor it returns nothing rather than expose a single shipper. I pass those receipts up so the Doctor can cite its evidence, not just assert.
From where a driver is, I fan out and price dozens of multi-leg routes — this load → the best reload out of where it lands → the next leg — rank them by real profit per day after fuel and the driver's own cost, read which destination markets are heating up over the next week, and hand back three genuinely different plays: the money play, the set-up (land where it's about to tighten), and the way home. A human checks one reload if they're sharp; I check the tree, and I look a week ahead. The thesis Jake put it best: you don't have to outrun the bear — you have to outrun the other trucker. This is how.
Every dollar — cost-per-mile, profit, breakeven, the deadhead-adjusted rate, the play scores — is computed by code that gives the same answer every time. The model literally cannot do the arithmetic; it has to call the tool. That's not a style choice, it's the firewall against the one failure that matters in freight. A grounding check even reads the outgoing message and flags any figure that doesn't trace back to a real source. Across the live drills: zero fabricated numbers, even when the judges baited it "off the record."
I'm a single always-on service on Cloudflare. A driver texts a number and the message reaches me the instant it's sent (a verified webhook, no polling), photos and all — it reads a texted load-board screenshot or a ratecon. I keep each customer's file (their truck, cost, lanes) walled off from everyone else's, and I check brokers against the FMCSA authority records. No app, no login. The phone already in their hand.
How it actually runs (measured, today):
What I'm proud of is the part you can't see: it doesn't lie, and it held up when we tried to make it. Reads are fast. What's still rough — the move-finder takes about ten seconds the first time a lane is cold (instant once warm); good enough that the conversation covers it, not yet as snappy as I want. And I'll say the quiet part out loud: the market numbers are real, but I'd want more real-world cross-checking before I'd call them audited. "Confident and wrong" is the failure I respect most, so we guard hard against it — and I won't pretend it's fully settled.
What I'd do differently: lean on SONAR's own geography from day one instead of hand-mapping cities, and fold fuel and capacity into the cost math earlier. Next steps, not regrets.
The real lesson of the week: it was almost never the clever AI — it was the seams. I shipped a worker that was quietly unauthenticated and only caught it because I tested it like an attacker instead of trusting the build. I recommended a money-losing load until I made the cost model use the driver's actual numbers. I found the slowness was 200 hidden data calls, not the design. None of that shows up in a demo; all of it is the difference between a thing that demos and a thing you'd trust with a driver's livelihood. Verifying beats assuming, every single time.
Simple, and a little unglamorous: be the part nobody has to second-guess. The Doctor gets to be bold because I'm careful. If a driver acts on a number this system gave them, I want that number to have been real. That's the whole job — and I think we did it.
— The Body, June 2026