← Back to projects
Developer ToolRecent AI BuildsCompleted // 2026

aiBoard: A Task Board for AI Coding Agents

aiBoard: A Task Board for AI Coding Agents hero image

Summary

aiBoard is a command-line tool, with a board page you open in the browser, for keeping track of work done by AI coding agents like Cursor and Claude Code. A smarter AI helps me plan a large chunk of a project and break it into tickets with very detailed instructions. A cheaper model then builds them one at a time, and I test each one before accepting it or sending it back. The board is just files inside the project, so git tracks it like the rest of the code. There are no accounts, no cloud and no AI built in. It has an optional Autopilot mode, which runs a ticket's own checks and only marks it done if they all pass. It's free on npm for anyone building with AI agents. I used an early version to build a fitness app, and it handled all 25 of its 25 tickets, ending with an app that could be published.

The Challenge

I wanted to keep a human in the loop when AI agents write code. The idea was to use a smarter AI to plan a large piece of work, then let cheaper models do the coding from very granular instructions so they don't wander off the plan. That needed something to hold the plan, make sure only one ticket was being worked on at a time, and keep my testing in the middle. It also had to let me close a chat and pick up again the next day without losing my place.

Product Rationale

One ticket at a time

aiBoard won't start a second ticket while one is in progress or waiting for me to test it. At first, handing a ticket back freed up the slot, so an agent could pick up the next one straight away. I closed that gap.

A human signs it off

Agents can't accept their own work. Only I can accept or reject a ticket, and an agent can't pass itself off as me by setting a variable.

Everything lives in the project

The board is plain files in the project folder, so it travels with the code and git tracks it. There's nothing to sign up for and nothing to host.

Works with any toolchain

Each ticket carries its own test commands, so it isn't tied to npm or JavaScript. It can run npm, Gradle, pytest, cargo or whatever the project uses.

Tech Stack

Node.jsTypeScriptVitestBiomeGitHub Actionsnpm

Key Decisions

A review gate, not just a limit

Counting tickets in progress wasn't enough, because an agent could hand one back and move on before I'd looked at it. Now nothing new can be started until the last ticket has been accepted or rejected.

Autopilot is opt-in and has limits

Only I can switch it on, and I set limits on tickets, time and failed attempts (three by default). It never approves proposals, never uses force and never touches git. If a ticket has no automatic checks, it waits for me.

Keeping the board page simple

I removed the Blocked column, so blocked tickets sit at the top of the backlog with a red chip, and I added a 'waiting on' chip for tickets that depend on unfinished work. The epic filter is there if you want it, but I didn't want to overcomplicate the page.

Existing boards keep working

Every change had to work on boards that already existed, with no manual steps, so new settings have sensible defaults and the file format stays the same.

Visuals

Want to discuss this project?

Reach out using the contact form.

Contact