A fun personal project inspired by Ex Machina - A film by Alex Garland.
ava is a simple TUI to-do list for coding sessions. One file per session, stored as plain GitHub-flavored markdown so it's useful in any editor or renderer. Linux, terminal, no dependencies.
╭─ ava · 2026-05-31 14:30 · 3 active / 2 done ──────────────────╮
│ ╭─ Active ───────────────╮ ╭─ Completed ────────────────────╮ │
│ │ ▸ Wire up the parser │ │ ✓ Sketch the data model │ │
│ │ Add render snapshots │ │ ✓ Pick a directory layout │ │
│ │ Implement -r picker │ │ │ │
│ ╰────────────────────────╯ ╰────────────────────────────────╯ │
│ a add d delete space toggle J/K move s save q quit ? │
╰───────────────────────────────────────────────────────────────╯
Requires Zig 0.16.0.
zig build -Doptimize=ReleaseSafe
cp zig-out/bin/ava ~/.local/bin/ # or whereverava # start a new session, named for the current time
ava -r # resume a past session (interactive picker)
ava --list # print all sessions to stdout
ava --helpSessions live in $XDG_DATA_HOME/ava (default
~/.local/share/ava/), named YYYY-MM-DD_HH-MM.md.
Resuming a past session renames the file to the current timestamp — the old name goes away. Contents travel with the rename.
Navigation j/k or ↑/↓ h / ← → / l switch pane g / G top / bottom
Editing a add d delete space|x toggle Shift+J/K reorder
App s save q quit (auto-saves) ? help overlay Esc cancel
Mouse wheel scrolls the focused pane
Press ? inside the app for the full reference.
# Session 2026-05-31 14:30
## Active
- [ ] buy milk
- [ ] walk dog
## Completed
- [x] write the READMEGitHub-flavored task lists. Edit the file in any editor; ava parses
- [ ] / - [x] lines and ignores everything else. Tasks are capped
at 150 bytes of UTF-8 text.
$XDG_DATA_HOME— override the storage directory.$NO_COLOR— disables all color output (no-color.org).
Linux only. macOS/BSD might work but aren't tested.
MIT.