Case study — Cardloop

We didn't read about AI agents. We built the thing that runs them.

Cardloop is an open-source IDE for running Claude agents on a kanban board: you write a card, an agent picks it up, and the work lands as a commit. We built it, we open-sourced it under MIT, and we run our entire company on it — 77 projects on one board, including the site you are reading right now. Every number below can be checked against the public repository or reproduced with the command next to it.

The numbers, and how to check them

Measured 2026-09-16 on the production instance. The repository is public: github.com/igdigitallab/cardloop

97,437

lines of Python across 219 files

find . -name "*.py" | xargs wc -l

3,343

automated tests, run on every change

pytest tests/ --collect-only -q

150

HTTP endpoints

grep -r "@app\." backend/

77

projects managed from one board, by one operator

data/topics.json

225,286

agent turns across 8,946 sessions in 113 days

data/usage.db

20,445

documents in its own full-text index (974 MB)

cardloop-search --stats

67

numbered specs written before the code

grep -roP 'spec-\d+' . | sort -u

What it actually does

  1. A board that executes. Cards are not labels — moving a card starts an agent with the project's own context (its CLAUDE.md, its memory directory, its secrets). 77 projects run this way today.
  2. Isolation when work runs in parallel. Agents that write get their own git worktree, so two agents editing the same repository cannot corrupt each other's commits.
  3. It remembers. A full-text index across every project — 20,445 documents, 974 MB — answers "have we solved this before" in about a millisecond, across projects, not just the open one.
  4. It costs a flat subscription instead of metered API calls. Over 83 days the logged work equals $70,200.45 at pay-as-you-go API prices. That is the number the ledger sums, not a projection.
  5. It is spec-driven. 67 numbered specifications exist in the project history. The code follows a written spec, which is why 3,343 tests are maintainable by one person.

What it is not

The part that makes the rest of this page checkable.

6 GitHub stars

All of them arrived in the first five days after release; none since July 1. We have not promoted it.

One contributor

No outside pull requests, no forks, no issues filed by anyone else.

No frontend tests

The 3,343 tests cover the Python side. The web UI is covered by use, not by tests.

It restarts

The service was OOM-killed and restarted 12 times in the last 8 days of logs. We run it anyway, because the alternative is doing the work by hand.

Why this matters if you are hiring us

An agency that builds and runs its own tooling is a different claim than one that resells someone else's. Cardloop is why one operator maintains 3,343 tests across 77 projects without a delivery team. It is also why the site you are reading right now shipped from the same board.

Ready to transform your business?

Tell us what you need. We reply the same business day.