engineering

Build vs. Buy: What It Actually Takes to Coordinate a Fleet

2026-07-24 · 7 min

Every robotics team eventually writes the same function. It starts as `def move_all(robots, goals):` and it looks trivial. Then a second robot wants the same corridor, and the function starts to grow. By the time it actually works in the field, it is not a function anymore — it is a subsystem, and it is the one your team did not budget for.

This post is the honest parts list. If you are deciding whether to build coordination yourself or call something that already exists, you should know exactly what "coordination" contains before you sign up to own it.

The demo version is real, and it is a trap

You can get two simulated robots to avoid each other in an afternoon. Reactive collision avoidance, a little repulsion vector, a nav stack — it demos beautifully. This is the version that gets greenlit, because it makes the hard problem look solved.

It is not solved. It is postponed. The gap between "two robots dodge in a demo" and "twenty robots complete a mission in a warehouse, every time, with a record you can hand to a safety reviewer" is where the actual engineering lives — and none of it shows up in the demo.

The parts list nobody scopes

Here is what "coordinate the fleet" actually expands into once it leaves the demo:

Each bullet is weeks. Together they are the difference between a coordination demo and a coordination product.

We measured the difference

We ran a controlled A/B: build a coordination integration from scratch against general-purpose tools, versus reach the same outcome through the Cascade coordination API. Same task, same scenario set, same success bar. Then we counted the code each path required to get there.

RELATIVE CODE TO REACH THE SAME COORDINATION Build it yourself 4.6× Cascade API Measured on an identical multi-agent coordination task, same scenario set.
Reaching parity by hand took 4.6× the code — and that is only the code you can see. It does not count the determinism, evidence, and safety-gate work that does not fit in a benchmark.

The 4.6× is the honest, conservative number: it is just lines of code to reach functional parity on the coordination task. It does not price in the parts of the list that do not show up as code you write once — the determinism you have to maintain, the evidence format you have to design and defend, the safety policy you have to keep correct as the product changes. Those are ongoing costs, and they are the ones that quietly consume a robotics team's roadmap.

When you should build it anyway

We are not going to pretend buying always wins. Build it yourself when:

If two of those three are true, build it. You will do it well.

When you should not

Buy it when coordination is infrastructure for you, not the product — when what you are actually selling is inspection, or delivery, or public-safety response, and the fleet is how you deliver it. In that world, every week your team spends re-deriving a reservation table is a week not spent on the thing customers pay for. The coordination layer is undifferentiated heavy lifting, and undifferentiated heavy lifting is precisely what you outsource.

That is the case Cascade Dynamics is built for. You type the mission in plain language; the platform compiles it, deconflicts the fleet deterministically, enforces safety gates at dispatch, and hands back a signed evidence bundle you can verify. The 4.6× you did not write is the smaller half of what you did not have to own.

The open beta lets you run the coordination layer against simulated fleets with no card, and the claims ledger documents exactly how the parity benchmark was measured.

See it in 60 seconds

Type a mission in plain English; a fleet coordinates itself, and every run ends in signed, verifiable evidence. The demo runs with zero setup.

Join the open beta → Zero-dependency demo: github.com/Cascade-Dynamics-AI/hello-swarm
Every claim, measured: cascadedynamics.ai/claims