The problem
Most engineers have two task lists: the one in Jira nobody reads, and the // TODO comments scattered through the code. The first list is for the company; the second is the truth. We wanted a task manager that started from the truth and pulled the rest of the workflow toward it.
What we built
DevTodo watches a configured set of repos for TODO/FIXME comments and creates a task per occurrence, tagged with the file, line, and Git author. Tasks flow into a React dashboard and out to Google Calendar with smart blocks (focus blocks, batch blocks, deadline blocks). The whole thing runs as Express APIs orchestrated by n8n flows so non-engineers can extend it without redeploying.
The AI angle
Claude (routed through LiteLLM so we can swap models at will) does three jobs: it reads the surrounding code and writes a one-line task title; it estimates effort in 15-minute buckets; it suggests a calendar slot type based on the work type (research, ship, polish). All three suggestions are editable, but the defaults are good enough that most users accept them silently.
How it’s used
- Solo developers use the CLI to capture TODOs without breaking flow.
- Small teams use the dashboard as a low-friction Kanban that mirrors the code.
- Anyone using n8n hooks DevTodo into their existing automation graph.
What it taught us
That building for developers means making the AI optional. Half our users turned off the LLM features in the first week and used DevTodo as a plain TODO scraper. Then over the next month they turned them back on, one at a time, as they decided what was actually useful. The lesson: ship the deterministic core first; let AI be a switch, not a foundation.