The problem
Bahn delivers over 25,000 used cars a year across Finland, Denmark and Germany, with 1,500 freelance drivers and an operations team of about 50. Something changes every hour. A driver misses the train and can't make the pickup. The seller said the car was ready, and it isn't. The ferry is sold out, so the driver needs a later ship and a hotel. A red warning light comes on halfway to Hamburg.
None of these is hard alone. The hard part is that each one starts a chain of calls, bookings and cost decisions, and a person has to hold it all in their head.
We also noticed that much of what happens never gets logged. It lives in phone calls, chats and people's memory. So the team is not aligned on the status of each delivery, nobody is sure who is handling what, and a lot of the work is manual: chasing the same facts again and again.
What we built
A control room where agents do the legwork and every case has a clear owner. A person sees only the cases that need them, most urgent first, even with 1,000 orders. Every order shows who has it right now, an agent or a named person, and anyone can take a case over with one click so no agent acts on it until they hand it back.
Each case shows what happened, what the agent found with a source for every fact, and one button that says exactly what happens: "Approve: book the Saturday ferry and a hotel." Every message, call, alert and decision lands on one timeline per order, so everyone sees the same status.
How it works, and what's AI about it
Agents read every message and investigate every problem before a person looks. They ask the driver if they are safe, look up ferries, trains and recovery, and write one clear decision. A second agent checks every fact against its source. Hard cases, like safety or conflicting evidence, go to a stronger model automatically.
The agent never contacts a customer, and every booking, cost or date change needs a person's yes. That rule is enforced in code, not in a prompt.
We built it with Claude Code, phase by phase, and logged every place where we did not take the first answer.
What's next
Try it on a real day with one Bahn desk. Then let agents earn more freedom one action at a time, based on how often people approve their proposals unchanged.


