AI automation consulting
I build AI automation that runs real operations.
I automated the back office of a freight brokerage from inside the ops seat: two email bots, four API integrations, three unattended crons, all running on live commercial data. The AI reads. Deterministic code decides. Humans hold the kill switch.
- loads posted, zero corrupted
- 4,342
- first ETA cycle: 35 asks, 16 confirmed, 3 real flags
- 40 min
- to parse one carrier email
- ~$0.003
- checks passing before the first live send
- 223
// every number sourced from production logs, commit history, and pre-flight audit records
Shipped and running
Six systems on live freight
Fourteen production builds in 33 days for a freight brokerage. These are the six that carry the day-to-day.
Load-posting converter
Replaced a silently corrupting Excel macro on day one. 4,342 loads posted, zero corrupted fields.
02Carrier negotiation bot
Haggles with carriers by email, unattended. Every dollar comes from a deterministic ladder, never the AI.
03Carrier ETA bot
The whole morning status chase, drafted, classified, and followed up unattended every 20 minutes.
04Auto-cancel noise suppression
Releases timed-out loads before the noisy email is ever generated. A one-way door with double guards.
05Delivery date adjustments
An owner-level re-dating chore became paste, review, apply, with every write read back to verify.
06Uncovered-loads auto-classifier
Ends rate guessing: an unclassifiable load is held for review, never posted at a guessed rate.
Why it can be trusted
The method is the product
The AI is boxed in
Claude reads emails and classifies replies. It never writes a message on its own authority, never routes, and never touches a price. If the model is wrong, the blast radius is a mislabeled reading, not a wrong number on the wire.
One-way doors get double guards
Anything irreversible re-reads live state immediately before the write, and writes are read back to confirm they stuck. A timer alone can never fire an action that has no undo.
Shadow mode before trust
Every bot launches writing drafts, not sending. Independent kill switches, all defaulting to off. Going live is a human decision made after watching real traffic, not a config default.
Some of your back office is buildable.
If your team is paying someone to post listings, chase status updates, or re-key one system into another, some of that is buildable. I can usually tell you which part in one conversation.
Or start in writing