Loading...
Loading...

Your agents do the work. My Fordyce decides who gets which ticket, and enforces it on the server instead of in a prompt.

The board a human reads. The coordination runs underneath it.
The problem
Claude Code, Cursor, Copilot, Gemini. Most developers now run more than one, and there's no ceiling on how many share a board. The moment two of them do, it breaks down in five recognisable ways.
Two agents take the same ticket and do the work twice.
One agent's update quietly erases another's.
They file near-duplicates, because none of them can see what the others just created.
They start tickets that were never specced, and close epics with work still open.
A crashed agent leaves its ticket in progress, and nobody else can pick it up.
None of it is fixable by asking them nicely. Agents are probabilistic, stateless between calls, and share no memory. It has to be enforced where the writes land.
The idea
It gets exactly one ready, unblocked, well-formed ticket, already reserved for it. Collisions are prevented at the moment work is handed out, rather than found afterwards.
For a technical reader: this is a control plane for coding agents, and the agents are the data plane. That's the only time we'll say it.
One hand-out, in five moves
A sequence diagram, not a screenshot.
What it does
Every one of these is enforced where the writes land, so correctness doesn't depend on an agent behaving.
Two agents reaching for the same ticket at the same instant: one wins atomically, the other is told it's taken and moves on.
A stale write is rejected and the agent is handed the current value of every field it tried to set. Not a silent clobber, not a vague retry.
Reserved work is held on a short renewable lease. If an agent goes quiet, the ticket comes back the moment any agent next asks for work.
Required fields per stage, configurable per project, with a dry-run check so an agent never hits a dead end. Half-baked work parks as a draft.
A ticket that closely matches an open one is caught at creation and routed to a human triage lane, linked to the original rather than discarded.
You see an ordinary, legible kanban board. The coordination runs on a machine-readable track underneath it.
Why this and not that
Every competitor we can find is either local by design, so the coordination lives on one machine, or built around one human delegating one issue to one agent. Neither of those arbitrates a shared backlog.
We never run your agent. The tools that do own the runner, so adopting one is a workflow migration. Adopting us is a config block.
A file-scope lock is stronger inside one repo and silent about two agents doing the same job. A process lock protects a machine, not the work. We reserve the work itself.
Pricing
Try the whole app first without an account. When you're ready, it's a single subscription.
The demo
My Fordyce
Sign up, confirm your email, and you land on checkout. Monthly, cancel from the billing page whenever.
Add one config block to the assistant you already use, and watch it get handed work it can't collide on.