Infinite Todo App


img

A terminal-based todo app with an AI backbone. The interface splits into a scrollable list on top and a freeform text editor on the bottom. Everything is plain text — no forms, no buttons.

Concept

Stay busy by having stuff to do. So after you enter all your todos, you can have the AI go out and suggest other things that might be interesting to you, or suggest articles on the internet you might find interesting based on what you do. This system seems much more productive than just finding random links other people post and hope they are interesting to you. The concept of this application isn't to finish your TODO list, it is to always have a list of things to work on so you never have time to scroll.

Basic Usage

# Launch the TUI
./todo.py

# Add a todo directly from the command line
./todo.py todo "Read the Rust book"
./todo.py todo "Fix kitchen faucet #home"

Editor format

When a todo is selected, the bottom panel shows a single editable block:

title: My todo title  #tag-here-is-fine ;xl
Description, notes, links  anything goes below.
More #tags can appear anywhere in this text.

The first line is the title. Everything after it is the description. Tags (#word) are extracted from the full text and used for filtering — you can put them on the title line or anywhere in the body.

Task sizes

End the title line with ;s, ;m, ;l, or ;xl to set the size. Omitting it defaults to small. The list is always sorted largest-first so your biggest tasks stay visible at the top.

title: Rewrite auth module ;xl
title: Fix typo in README ;s
title: Add unit tests ;m

Works from the command line too:

./todo.py todo "Migrate database ;l"

Keyboard Shortcuts

Key Action
Tab Switch focus between list and editor
n New todo
Space Mark / unmark selected todo as done
Ctrl+X Delete selected todo
f Jump to tag filter
Ctrl+F Toggle showing completed todos
Ctrl+G AI: suggest new todos
Ctrl+W AI: find articles to read
Ctrl+T Flip split — expand editor to 80% or restore list to 80%
q Quit

AI Features

Requires ANTHROPIC_API_KEY set in your environment.

Suggest new todos (Ctrl+G)

Analyzes your full todo list — active and completed — and suggests 6–8 genuinely new ideas. The prompt explicitly instructs the model not to rephrase things you already have; it looks for adjacent skills, cross-domain connections, and unexplored angles. A checklist modal opens where you can select as many as you want and add them all at once with a.

Find articles to read (Ctrl+W)

Uses Claude with a live web search tool to find real articles — blog posts, papers, tutorials, essays — matched to your interests. Results include the URL and a one-sentence reason why each article fits. Selected articles are added as todos tagged #reading, with the URL and reason saved in the description so you can find them later.

Download

here