Four control layers, one coordination protocol, and a deployment path built to run on regulated government infrastructure without a rewrite.
Autonomy without a human path is a liability, and a human-only path does not scale past a handful of machines. Swarmonic separates the two so neither blocks the other.
Speaks to every device. Owns discovery, driver resolution, the coordination protocol, temporal synchronisation, collision avoidance, and the attestation chain. This is the layer that would run on the robot itself in production, so a fleet keeps coordinating through a network outage.
Turns an intended outcome into coordinated device commands. Decomposes goals into tasks, matches tasks to genuinely capable machines, propagates kinematic constraints, and evaluates the fleet-wide consequences of a command before anything moves.
Where an operator states what they want and sees what the fleet is doing. Deliberately thin: the AI controller does the work, and the operator supervises rather than pilots. A direct programmatic path stays open for developers who want to command devices themselves.
Independent of the layers above and intentionally not clever. Halts devices through the protocol's own cascade regardless of what the AI controller believes is correct. Nothing can talk it out of stopping.
The platform is deliberately infrastructure-neutral: containerised, configured entirely through environment variables, with the message bus behind an interface and no dependency on any hosting provider's proprietary database, authentication, or storage service. That is a design constraint, not an accident — it is what keeps the production migration a deployment change rather than a rebuild.
Five rules the codebase holds to. Together they keep the production migration to roughly a day of work instead of a rewrite under deadline pressure.
Plain Docker, standard base image, no provider-specific build system.
Every setting arrives as an environment variable. Nothing is hard-coded to a host.
Postgres over an ordinary connection string. No proprietary managed database.
Message transport is abstracted, so swapping to AWS IoT Core is a configuration change.
No provider-specific auth, object storage, or key-value store anywhere in the codebase.
The same container runs on a managed host, on ECS, on EKS, or inside GovCloud.