AI for logistics

AI for logistics and freight

Quotes out in minutes, tenders booked from the inbox, exceptions surfaced before the phone rings. 5x ROI in 30 days, or we work free.

  • Freight brokerages
  • 3PL providers
  • Last-mile fleets
  • Customs brokers
  • Drayage and intermodal

Teams we build for

  • Hoyes Michalos
  • Nurse Next Door
  • Fedi
  • UBC Sauder
  • Merchant House Capital
  • Picton Investments
  • Campbell Froh May & Rice LLP
  • Barnakl
  • Hungerford
  • Breez

Proof, honestly

No published freight case study yet, and we say so. Founding clients get priority scheduling, direct founder involvement, and a co-published case study once the numbers are real. The 5x ROI guarantee applies from day one.

Book a call to claim the founding slot

We guarantee 5x ROI inside 30 days of deployment, in writing, measured against a baseline you sign before we build. If the system misses the bar, we keep working for free until it clears.

Run your numbers.

Your operations

8
12
$45

Savings use the low end of our hours-reclaimed range. The math is conservative on purpose.

The math

Cost of manual work / yr$207,360
Recovered / yr$51,840 - $103,680
Hours back / yr1,152+
Hours back / wk24+

Calculated at the low end of every range.

Every first build is covered in writing: 5x ROI in 30 days. Or we work for free.

Logistics, before and after

FIG. 01

The manual path is dashed: Quotes sit in a queue, Tenders keyed by hand, All-day check calls. The system path replaces it, and a person approves before anything ships: Rates drafted in minutes, Inbox to TMS automatically, Only exceptions reach a person.

Before: by hand

  1. 01Quotes sit in a queuehuman
  2. 02Tenders keyed by handhuman
  3. 03All-day check callshuman

After: the system

  1. 01Rates drafted in minutes
  2. 02Inbox to TMS automatically
  3. 03Your approvalhuman
  4. 04Only exceptions reach a person
Logistics, before and after.REV 2026.08

The research

Drivers were detained in 39.3% of stops in 2023, and one stop in ten ran over two hours. Carriers collected detention fees on fewer than half the invoices they sent (ATRI, 2024, US for-hire trucking).

American Transportation Research Institute · 2024 · Driver and motor carrier survey responses plus ATRI truck GPS data, 2023 data year, published September 10, 2024

01

Slow quotes lose loads.

The first decent rate back usually wins. Yours is still sitting in someone's queue.

02

Order intake is an inbox.

Unstructured tender emails keyed into the TMS by hand, with the errors that come with it.

03

Track-and-trace eats the day.

Check calls, status emails and appointment reschedules, instead of selling freight.

04

Your lane history prices nothing.

Ten years of what you paid and what you won sits in the TMS and a retired analyst's spreadsheet. Running a truck cost $2.336 a mile in 2025 and truckload and refrigerated carriers ran margins below 1% (ATRI, 2026, US dollars), and today's quote still starts from a gut number and a load board average.

05

Detention money dies in a text thread.

The driver sat three hours at the dock. The proof is a photo of a timestamp on someone's phone. The accessorial never gets billed.

06

The desk goes dark at six.

Freight keeps moving all night. The exceptions wait for the morning shift, and the customer finds out before you do.

The numbers in logistics and freight

Drivers were detained in 39.3% of stops in 2023, and one stop in ten ran over two hours. Carriers collected detention fees on fewer than half the invoices they sent (ATRI, 2024, US for-hire trucking).

American Transportation Research Institute · 2024 · Driver and motor carrier survey responses plus ATRI truck GPS data, 2023 data year, published September 10, 2024

C.H. Robinson runs 30+ AI agents managing more than 3 million shipment tasks: quoting, booking, scheduling, tracking (Tank Transport, 2025).

C.H. Robinson · 2025

What we build for logistics and freight

Price and win

01

Spot-quote automation.

Rate requests parsed, priced against your own lanes and history, and a draft with the margin math attached. Your rep approves and sends.

02

Email and EDI order intake.

Unstructured tenders become structured TMS loads. Clean extractions flow, ambiguous fields queue for a person before anything books.

03

Lane memory.

Every quote, won or lost, files back into the lane history. Next quarter's rate starts from the record instead of the gut.

Move the load

04

Appointment scheduling agent.

Pickup and delivery slots requested, confirmed and rescheduled without the phone tag.

05

Track-and-trace exceptions.

Every load watched continuously. Only the ones in trouble reach a person, with the timeline attached.

06

Detention and accessorial capture.

Arrival and departure timestamps collected as they happen and matched to the rate con, so the invoice carries proof instead of an argument.

Keep the desk honest

07

Carrier sourcing and onboarding.

Packets, insurance certificates and operating authority checked against Highway and chased until complete. A person decides who gets loaded.

08

Margin and lane reporting.

Cost to serve per load, per lane and per customer, weekly instead of discovered at month end.

An ops rep's Thursday on the spot desk

01

The 7:40 tender is a load by 7:43

A shipper forwards a tender while she is on her first check call of the day. By the time she hangs up it is a structured load in the TMS, pickup window, pallet count, reference numbers, with the accessorial line flagged low confidence. Nothing booked itself.

02

She settles the liftgate question

human

The flagged line could read liftgate or inside delivery, and those are different trucks. She calls the shipper, corrects the field, and confirms the load. The parse queue holds anything ambiguous until a person does exactly this.

03

Last quarter's freight prices this one

The rate request runs against her own history, what the lane paid over the last two quarters, which quotes won, current fuel. A draft rate waits with the margin math attached and the record it came from cited.

04

Sending the rate stays her call

human

She reads the margin, shaves it because this shipper tenders weekly, and sends. The system proposed. She committed. No rate leaves the desk without a person behind it.

05

The dock is booked between her calls

The pickup appointment is requested through the receiver's Opendock calendar, the confirmation files against the load, and when the dock pushes to 2pm the reschedule is handled and noted.

06

Forty loads run quiet

The board sweeps the visibility feeds and the carrier portals. Thirty-nine loads are where they said they would be. One tractor has sat fifty minutes at a closed receiver, and an exception opens with the timeline already written.

07

One phone call, made first

human

She calls that customer before the customer calls her, with the reschedule drafted and the detention clock noted from the timestamps. The other thirty-nine loads never needed a human today.

08

The desk closes its own books

PODs are chased, the detention minutes file against the accessorial, and margin per load writes into the week's lane report. Tomorrow's quote starts from a slightly smarter history.

Who this is built for

Brokerage owner

You see the margin while the load is still moving

Margin per load lives in the TMS, but nobody computes it until month end, when the lane that lost money all quarter finally shows up. With intake, quoting and track-and-trace running on the desk instead of in heads, cost to serve lands weekly, per lane and per customer. You reprice the lane that bleeds instead of discovering it.

Customer sales rep

The shipper gets a number in minutes

The request hits the inbox, your own lane history prices it, and a draft with the margin math sits in your queue in minutes. You adjust for what the data cannot know, the shipper's week, the carrier you owe a favor, and send. The first decent number back wins more freight than it should. Now it can be yours.

Operations manager

Only the loads in trouble reach your desk

Track-and-trace used to be a headcount problem: every load checked, most of them fine. Now the board is swept continuously, the quiet loads stay quiet, and the one sitting at a closed receiver opens an exception with the timeline already written. Your people work problems, not lists.

Customs manager

The entry is checked before the truck reaches the booth

eManifest data assembles from the load file and is checked against the paperwork while the freight is still rolling toward the border. Gaps flag hours ahead, not at primary. Your licensed broker files, and files complete.

What stays human

  • She settles the liftgate question
  • Sending the rate stays her call
  • One phone call, made first

The steps the day below leaves to a person, by design.

The economics

Before and after economics

Line

Spot quote turnaround

Before

The request waits in a queue behind the phones

After

A priced draft with the margin math waits for a person to send

Manual desk hours in scope

Before

At the page defaults, 8 people spending 12 hours a week on keying, check calls and POD chasing is 96 hours, $4,320 a week at $45 loaded cost

After

The calculator above prices your own desk, and the 5x ROI guarantee is measured against a baseline you sign before we build

Track-and-trace coverage

Before

Rationed by who is free to dial

After

Every load swept, only exceptions reach a person

Detention and accessorials

Before

Proof lives in text threads and gets written off

After

Timestamps file against the rate con as they happen

The dollar row is arithmetic on this page's calculator defaults, 8 people at 12 manual hours a week each at a $45 loaded hourly cost, which is 96 hours or $4,320 a week of manual desk work in scope. Every other row is a before and after state, not a measurement. There is no published freight case study behind this page yet, so no row here is a client outcome, and the founding offer at the top of the page says the same thing in plain terms.

Where the data comes from

TMS

McLeod, Rose Rocket, Tai or the Aljex install nobody has dared to touch holds the operating record: loads, rate confirmations, carrier files, accessorials and the margin on every load you ever moved. The build reads it through the vendor's API or scheduled exports, and the lane history inside it becomes the corpus the quoting runs on.

Where it stops. The only writes are structured loads a person confirmed. Rates and margins are scoped per account at the database layer, under no-training API terms. Your history prices your freight and nobody else's.

Carrier portals

Dock scheduling calendars, shipper and carrier portals, and the visibility feeds, Descartes MacroPoint, project44 or FourKites where they exist, plain login pages where they do not. Browser automation reads statuses and requests appointments on the surfaces that have no API, which in freight is most of them.

Where it stops. Reading and requesting only. The automation never accepts a load, never signs a rate con, never commits a truck. Anything that binds the company routes to a person first.

Tender email

The inbox where the freight actually arrives: forwarded chains, PDF rate cons, a shipper's spreadsheet, the odd EDI 204 that behaves. Each one is parsed into a structured load on arrival and graded field by field, with the original message filed against the load as the source of record.

Where it stops. Nothing books from the inbox alone. Clean extractions flow to the TMS as drafts, low-confidence fields queue for a person, and the confidence threshold is yours to set.

FIG. 02

How an answer is found in your lane history

A question runs against your lane history two ways at once: vector search for meaning and full-text search for exact wording. Reciprocal rank fusion merges both result sets, and the answer carries the source it came from.

  1. 01A question
  2. 02Vector search (meaning)
  3. 03Full-text search (exact wording)
  4. 04Rank fusion
  5. 05Answer, with its source
How an answer is found in your lane history.REV 2026.08

Built around your rules

The regimes that govern logistics, what each demands, and how the system complies

Regime

CBSA eManifest and CARM

What it demands here

Pre-arrival cargo data and duties accounting run on CBSA's systems, and filing is a licensed function with accuracy duties attached.

How the system complies

The system assembles and checks the data set and flags gaps before the truck rolls. A licensed customs broker or your own team files. Accuracy duties stay with the humans who carry them.

Rate confidentiality

What it demands here

One shipper's pricing must be invisible to every other shipper, and to carriers.

How the system complies

Rates are scoped per account at the database layer under no-training API terms. One customer's pricing is invisible to every other by construction.

PIPEDA

What it demands here

Driver cell numbers, licence details and shipper contacts move through check calls and carrier packets, and Canadian privacy law follows them.

How the system complies

Personal information stays inside your accounts, used for the load and nothing else, with residency scoped per engagement.

CASL

What it demands here

Carrier and shipper outreach by electronic message needs consent, sender identification and a working unsubscribe.

How the system complies

Every outreach build tracks consent, identifies the sender, and honors unsubscribes, with consent state enforced in the data layer.

Transportation of Dangerous Goods Act

What it demands here

Dangerous goods shipments require trained, certified people behind the shipping document and the placards.

How the system complies

The system flags UN-numbered freight on intake and routes it to your TDG-certified person. It never classifies dangerous goods itself.

Carrier authority and insurance

What it demands here

A broker who tenders to a carrier with lapsed authority, a failed safety rating or expired insurance owns the fallout.

How the system complies

The onboarding agent pulls FMCSA and provincial safety data, watches certificate expiries, and holds the packet open until complete. The decision to load a carrier stays with your carrier manager.

Rate sheets, lane history and customer data stay inside your accounts, scoped per customer, under no-training API terms.

Read our full security posture

The objections

Our TMS vendor is bolting AI onto the next release. Why not wait?

The add-on will parse the tender the vendor imagined, one clean form. Your tenders arrive as forwarded chains, rate cons scanned sideways and a shipper's spreadsheet from 2019. We grade extraction against your actual inbox before anything goes live, and the 5x ROI guarantee is ours in writing, which a roadmap slide is not.

Our rates are the business. A model that reads them prices our competitors' freight next.

Nothing you feed the system teaches anyone else's. Model calls run under no-training API terms, and lane history is scoped per account at the database layer, the same wall the compliance ledger holds for shipper pricing. Your rate intelligence compounds for you and only you.

Half our carriers dispatch from a flip phone. Automation dies at the truck.

Nothing here asks a driver to install anything. Statuses come from the visibility feeds and portals that already exist, and where a lane runs dark the system drafts the check call and queues it for a person with the number and the question ready. Coverage degrades to a human, never to silence.

Freight is a relationship business. Shippers ship with people.

The relationship wins the freight. The desk work loses it: the quote that lands second, the check call missed, the POD chased for a week. Automating the desk work is how your people get their afternoons back for the calls that actually hold the account.

A wrong rate hurts more than a slow one.

It does, which is why no rate sends itself. Suggestions are backtested against your own won and lost quotes before a rep ever sees one, the margin math rides along, and DAT or Loadlink stays open in the next tab as the outside check. The desk gets faster. The judgment stays where it was.

How we build it for logistics and freight

Step 01

Parse the tender email first.

Tender-to-load parsing is graded field by field against loads your team already booked. It is the highest-frequency task on the desk and the easiest to measure.

Step 02

Then the exceptions nobody has time for.

Track-and-trace sweeps and check calls run on a schedule. The win is that a customer hears about a problem from you rather than the other way around.

Step 03

Quote support only once the history is trustworthy.

Rate suggestions are backtested against what actually won before a dispatcher sees one. Freight margins are too thin for an unmeasured model.

What we will not automate

Committing capacity and sending a rate. The system proposes with the margin math attached, and a person sends.

How the system is built for logistics and freight

See the full capability map

Retrieval

Lane history, carrier performance and past quotes indexed so a dispatcher can ask what this lane did last quarter and get the record instead of a guess. Tender emails are parsed into structured loads on arrival.

  • pgvector
  • Full-text BM25
  • Email parsing to structured loads

Agents and orchestration

Agents sweep tracking, chase check calls and open exceptions before a customer notices. Browser automation covers the carrier portals with no API. Quotes are proposed with the margin math attached, and a human sends.

  • agent-worker
  • browser-sandbox
  • Proposal queue

Evaluation

Tender parsing is graded against loads your team already booked by hand, field by field. Quote suggestions are backtested against what actually won. Freight margins are thin enough that an unmeasured model is a liability.

  • Eval graders
  • Backtesting
  • quality-worker

Models

Frontier models for messy tender email and exception narrative. Gradient-boosted models for capacity and rate prediction, trained on your lane history, because that is a tabular forecasting problem and not a language one.

  • Frontier models, one gateway, routed per task
  • Gradient-boosted forecasting
  • Embedding models via the same gateway

Data boundary

Rates, margins and customer terms are the business. They stay in your accounts, scoped per team at the database layer, under no-training API terms.

  • Supabase row-level security
  • Per-team scoping
  • No-training API terms
FIG. 03

TMS, Carrier portals, Tender email feed a hybrid index. The agent runtime works from that index, and every consequential action passes a human approval before it reaches Workflow builder, Task board, Cost per outcome.

Your systems

  1. 01TMS
  2. 02Carrier portals
  3. 03Tender email

The system

  1. 01Hybrid index
  2. 02Agent runtime
  3. 03Your approvalhuman

Where your team works

  1. 01Workflow builder
  2. 02Task board
  3. 03Cost per outcome
Logistics: how the system fits together.REV 2026.08

What that means in practice

Agents and orchestration

AI that does the work instead of just answering: looks things up, calls your systems, completes multi-step tasks, and knows when to hand off to a human.

Where we stop. Multi-agent swarms are oversold; most jobs need one well-guarded loop. If a cron job and a script solve it, that is what we build, because 90 percent per-step accuracy compounds to 59 percent over five chained steps and no framework changes that arithmetic.

How we use it

Classic and predictive ML

Not every problem needs a language model. Predicting numbers, churn, demand, fraud risk, is usually solved better, cheaper and more explainably with proven statistical ML.

Where we stop. When the input is language, judgment or unstructured documents, classic ML underperforms and we say so. The discipline runs both ways: if your problem is a prediction problem, you will hear that it does not need an LLM from us before you pay for one.

How we use it

Evaluation and observability

How we prove the AI actually works: measured, monitored and regression-tested like real software, not vibes.

Where we stop. There is no engagement where we skip this. The honest variable is depth: a document pipeline gets faithfulness and extraction suites, an outbound agent gets human review sampling, a classifier gets a held-out test set. We size the harness to the risk, never to zero.

How we use it

Where your team works

Tour the platform

Workflow builder

Describe the workflow. Watch it assemble.

Say what should happen in plain language and the builder assembles the automation on a canvas you can read, run, and change.

Task board

People and agents, working the same board.

Every piece of work lives on one shared board, whether a person or an agent owns it. Handoffs between the two are explicit, so nothing falls in the gap.

Cost per outcome

Every dollar of spend traced to the work behind it.

Outcomes delivered, cost per outcome, value attributed, return on spend. The same measurement the guarantee is settled against, live on one page.

Approval queue

The AI proposes. You approve. Nothing sends itself.

Every consequential action arrives as a proposal with the risk, reversibility, and expiry spelled out before you say yes. Control stays in the room.

The hard questions

Free · 3-5 days

Know your number in five days.

We map your operations, find the highest-ROI automations, and hand you a ranked plan with the payback math attached. Yours to keep, whoever builds it.

Prefer to talk first? Book 15 minutes with James. No pitch deck.

Free · no obligation · five minutes

The plan is yours to keep, whoever builds it.

5x ROI in 30 days. Or we work for free.