Project
My home AI agent, Sable, is good at work I can describe in a sentence or two. What it lacked was an inbox. Ideas arrived in chat, got half-done, and were forgotten when the conversation scrolled away. So I gave it a Kanban board: I drop a card in a column, and the agent picks it up, does the work, and answers on the card.
At a glance
- Board: Focalboard, an open-source Kanban app, self-hosted
- Agent: Sable, built on the open-source Hermes agent framework, running a local model (see Running AI at Home)
- Glue: a short Python script that checks the board every 15 minutes; no AI runs in the glue itself
- Cost: free and open-source software on hardware I already own
How it works
- Five columns. Ideas is my parking lot, and the agent never touches it. For Sable is the queue. The agent moves cards to Sable working, then to Done or Needs Ryan.
- A card becomes a task. Every 15 minutes the script takes the oldest card in For Sable and turns its title, description and comments into a task on the agent's own task board (Hermes has a built-in Kanban system with a dispatcher that starts the agent on new tasks).
- The answer comes back to the card. When the agent finishes, its summary is posted as a comment and the card moves to Done. If it needs a decision only I can make, it posts the question and moves the card to Needs Ryan. I answer in a comment and drag the card back; the next round starts with the whole conversation.
- One card at a time. The agent runs on a single local model that I also chat with, so the script never starts a second task while one is still running.
Design choices
- Polling, not webhooks. Checking every 15 minutes is slower than an instant notification, but it has no moving parts to break, and I can always tell the agent “check the board” to skip the wait.
- No AI in the glue. The script only moves cards and copies text. Deciding what to do stays with the agent, so the plumbing behaves the same way every time.
- The agent gets its own account. Its comments and moves show up as “sable”, so I can see at a glance what it did and what I did.
- Same rules as everywhere else. Tasks from the board follow the agent's standing rules: free tools only, never delete my data, log every change, and ask before anything I would judge by eye or ear.
What I learned building it
- Check the app before trusting it. While connecting the board I found that the Kanban app had quietly stopped saving anything a year earlier: a folder permission had made its database read-only, and nothing complained. The fix took one command; finding it took an agent trying to write.
- An inbox changes how you use an agent. A card can wait until the agent is free, and the result stays attached to the request instead of disappearing up a chat history.
- Upstream status matters. Focalboard's standalone version is no longer actively developed. It works well for this, and because the glue only uses its REST API, swapping in another board later is a small job.
Built October 2026. Early days: the first real ideas go on the board this month.