DEV Community

Cover image for I built an open-source Trello where a custom Pi agent harness does the cards
An Pham
An Pham

Posted on AI-assisted

I built an open-source Trello where a custom Pi agent harness does the cards

My to-do list kept growing faster than I could clear it, and most of it wasn't hard work. "Compare three suppliers." "Draft the follow-up email." "Check the site still loads." Any decent AI agent could do these. The annoying part was everything around them: open a chat, paste the context, wait, copy the answer somewhere, then forget what I'd asked two days later.

I wanted the cards to just get done. So I built OpenLeo, a to-do board where agents, running on my own harness built on Pi, pick up the cards. It's free and open source under AGPL-3.0.

Here's the 30-second version:

OpenLeo in 30 seconds: Leo turns a to-do list into a board, agents pick up the cards and work on their own computers

How it works

It looks and feels like Trello: lists, with cards in them. The one difference is that a list can have an agent.

A board with five lists: Inbox, Research, Writing, Checks and Done. Some cards are being worked on, others are done

On the board above, a card dropped into Research goes to the researcher agent and a card in Writing goes to the writer. The Checks list has a monitor that looks at my site every weekday at 9:00. Inbox has no agent, so those cards wait for me.

When an agent finishes, the answer stays on the card. Here's a real one. I asked for the price of a Hario V60 at three shops, and the researcher came back with a little table and links:

A card showing the agent's result: a price table from three shops

A card can start because I pressed run, because its schedule came round, or because it landed in a list with an agent. Each run gets noted on the card, so when I look the next morning I can see what happened and when.

The same board also works as a table, with whatever fields you add (I used priority, due date and budget):

The same board as a table with Priority, Due and Budget columns

Every board gets its own computer

I didn't want agents poking around my real laptop. In OpenLeo each board has its own Linux computer, a cua sandbox, and the agents do their work in there. They open a browser, click around, fill in forms and save files. If I'm curious I open the computer and watch, and if an agent gets stuck I can take over the mouse.

On a Mac it uses Apple's container runtime when it can and falls back to Docker otherwise, and on Windows and Linux it uses Docker. You can also run the computers in cua's cloud. On first launch OpenLeo walks you through setting one up.

The board's notes, its memory and the skills you teach an agent (how you file receipts, say) live on that computer too, right next to the work.

It runs on your ChatGPT plan

I really didn't want people fiddling with API keys. OpenLeo uses OpenAI's Sign in with ChatGPT for open-source apps, the same kind of login Codex uses. You sign in with your ChatGPT account and the agents use the plan you already pay for. The tokens sit in a local vault file with owner-only permissions and never get sent to the web page.

What it isn't

It's for one person and their agents. I'm deliberately not turning it into a team project-management tool. It's also early. Expect rough edges, and back up your data before updating.

Try it

The site is leooi.com and the code is at github.com/ancs21/openleo.

git clone https://github.com/ancs21/openleo
cd openleo
bun install
bun run dev   # http://127.0.0.1:3000
Enter fullscreen mode Exit fullscreen mode

Or skip the terminal and get the desktop app. There are builds for macOS (Apple Silicon), Windows (x64) and Linux (x64 and arm64) on leooi.com/download and the releases page.

So here's my question for you: if a to-do card could do itself, which one would you hand off first? And which one would you never trust an agent with? I'll read every answer, and if something breaks, open an issue.

Top comments (0)