Keyboard-driven
Modal and vim-flavored: a NORMAL mode to navigate and command, an EDIT mode where the title is live. Capture a thought without reaching for the mouse.
one tree, infinitely nested
listlis is a keyboard-first outliner. Every thought is a node with a title and an optional Markdown body, nested as deep as the idea goes. No dragging, no chrome — the text is the interface.
Press o to add a line. Press Tab to nest it. That is the whole loop.
move is one row — never a renumber. One tree
Tasks, notes, and ideas share one structure instead of scattering across apps.
No drag
Reorder and reparent from the home row. Fractional indices keep moves cheap.
Yours to keep
Copy any subtree out as clean Markdown — titles become headings, notes come along.
What it does
Modal and vim-flavored: a NORMAL mode to navigate and command, an EDIT mode where the title is live. Capture a thought without reaching for the mouse.
The whole app is one tree. Indent, outdent, and reparent any subtree. Order is a fractional index between neighbors, so a move writes one row, never a renumber.
Every node has a title and an optional Markdown body. Keep the outline scannable; open a note when a line needs room to breathe.
Turn any node into a todo and toggle it done — completion carries the whole subtree and rolls up to the root. Style nodes to mark what matters.
Light and dark, several palettes — a planetarium console, a cream notebook page, embers in a stove. One key flips light to dark and remembers each side.
Publish a node as a read-only link, co-edit a subtree live, or let a node receive mail. Sharing a node shares its descendants — the boundary is the subtree.
Inbound
Give a node an address and it becomes an inbox. Forward an email or POST a webhook, and the message lands as a child node — captured from your phone, a script, or a service, without opening the app.
Email a node
<token>@lists.listlis.com
Or POST a webhook
POST /in/<token>
Tokens are per-node, rotatable, and revocable. Attachments ride along.
The keyboard tour
Everything below works in NORMAL mode. Press ? in the app for the comprehensive, OS-aware reference.
Move focus down and up
Collapse or focus parent / expand or focus child
Add a sibling below
Indent under the row above
Complete — carries the subtree, rolls up to the root
Toggle the node type: todo or plain
Share the focused node as a read-only link
Search every node by title and body
Open the full keyboard reference
No setup, no template to choose. An empty root and the home row are enough.
Open the app