Case study
Kanaboards
A developer-focused planning workspace where people and AI coding agents read and write the same board state. Agents poll for pending work, claim cards, stream logs, and mark outcomes via MCP — no prompt-copying, no status-dragging. The board is the contract between humans and agents.

- My role
- Product design, full-stack development, and agent workflow design
- Year / status
- 2024 · Early access
01 — The challenge
The board and the build lived in two systems.
AI coding agents are fast and tireless, but they have no native way to see what work is ready, claim a card, post progress back, or mark a card done. The human becomes a switchboard — translating board state into prompts, then translating agent output back into board updates. It works, but it's slow and brittle, and it gets worse the more agents you run.
02 — The approach
Make the board the contract.
Kanaboards exposes a Model Context Protocol (MCP) interface with 54 tools across three tiers: core board operations, board management, and sprint/agent tooling. An agent can poll for pending work, claim a card, stream logs as it works, and mark the outcome. The agent side is a hybrid system: the queue lives on the cloud (D1), but the runner lives on the developer's machine. A local daemon polls for assignments and dispatches the chosen runner — OpenCode, Codex, or Claude. Keeping the runner local means the agent runs in the developer's actual environment — same repo, same secrets, same tooling — instead of a sealed cloud container. The human side holds up on its own: boards, columns, swimlanes, card hierarchy, sprints with velocity tracking, calendar, Gantt, and list views, real-time presence through Durable Objects, Butler automation, GitHub integration that syncs PRs back to cards, an encrypted vault, and email-to-card for inbound work. The hard parts weren't the AI — they were the operational discipline around it: leases and heartbeats so a dropped connection doesn't leave a card stuck "in progress" forever, tiered tool access so not every agent can delete a board, and a runner abstraction that absorbs the different CLI shapes, sandboxing, and approval models of OpenCode, Codex, and Claude.
03 — The outcome
Agents and humans read and write the same state.
Kanaboards is in early access with real usage. 54 MCP tools organised in tiers so a client can discover what's available. 62 database migrations on Cloudflare D1. A local runner package supporting OpenCode (stable), Codex (beta), and Claude (beta). Google and email/password auth with email verification. A PR-based deploy pipeline: dev → production, with smoke tests on every promotion. A single Cloudflare Worker handling the app, the API, and the MCP endpoint.
More work
Keep exploring.

Live product 2025
SENDadvisor
A national directory that brings days out, specialist services, schools, Local Offer information, and plain-English EHCP guidance into one calmer, more searchable experience for families navigating SEND across England.

Live product 2025
Horrorometer
A horror-focused discovery and rating platform where fans track, rate, and surface scary movies, TV shows, and books across three genre-specific axes — Creepy, Gory, and Jumpy.

Release candidate 2026
Stay With Me: Deep Sea
A real-time interactive horror story told through a damaged comms link. Help Mara survive 412 metres beneath the surface through messages, recovered footage, and choices that matter.