Inspiration
We started with a question: if everyone on the team already has a computer, why should one machine do all the work? We wanted teammates to run AI coding agents in parallel and share part of a Rust build across their computers while keeping track of who was working on what and which changes were ready to merge.
What it does
DACS coordinates OMP coding agents across teammates’ computers. Agents can work on separate tasks in isolated workspaces and submit their changes through a shared Git integration flow. DACS also uses sccache to send eligible compiler invocations from a single Cargo build to other machines on the team.
How we built it
We designed DACS around a Rust coordinator that stores task state in SQLite and integrates changes through a local Git repository. A worker on each computer runs OMP in isolated workspaces and communicates with the coordinator over authenticated connections. We chose Leptos so the browser dashboard and desktop app could share a UI, and Headscale and Tailscale for private connectivity between machines.
Challenges and what we learned
One of the hardest design problems was deciding what to do when a worker disconnects. A task that only edits files in an isolated workspace can be retried under a fresh attempt. A task that may have changed something on the host needs a person to resolve it before another worker takes over. We also had to account for agents delegating work. If a parent task waits for a child and all the workers are already occupied, both tasks can get stuck. That led us to reserve capacity before accepting delegated work.
We also learned what it takes to demonstrate distributed compilation. Our test design calls for one clean Cargo build with a cold cache and evidence that it used compiler outputs from two other physical computers. That gives us a concrete way to show that the machines contributed to the same build.