Three panes · Six statuses · Your own files

Markdown todos, designed for mobile.

A standalone Android app and Obsidian plugin, over the notes you already keep. Both were born out of long hours wanting more from every other productivity system, and all of it is stored as checkboxes in your own .md files.

Android 7.0 or newer · Obsidian 1.11.0 or newer

The app

Three panes, one swipe apart.

Every other todo app on a phone pushes you forward a screen at a time and makes you press Back to find your way home. MarkTodo moves sideways. Your projects, the list you are in and the todo you are working on sit side by side — opening either side slides the list over instead of covering it, so a strip of it stays on screen and you always know where you are.

  1. Swipe rightYour projects slide in, grouped the way you filed them.
  2. Tap a todoIt opens in a pane beside the list, which stays in view.
  3. Swipe leftThe last todo you opened comes straight back, still highlighted in the list.

The swipe takes the whole screen but only in its own direction, so the two panes never fight over one thumb — and both step aside for a Kanban board or a card you are dragging.

How the app works
The app's Agenda screen, showing what is due across every projectEvery project's todos as a board on the phoneA todo open in the app's right-hand pane, with status, priority, due date and reminder

The six statuses

A vocabulary for how work actually moves.

These six were written for MarkTodo — not a preset borrowed from a Kanban tool, and not a list you configure. A fixed set, named and ordered so that where a todo sits tells you what to do about it. They split in two: three for work you are planning, three for work that is live.

Plan

Work you have not started

  1. Backlog[ ]

    Captured, not scheduled

  2. Warming[>]

    Next up, not started

  3. Paused[-]

    Deliberately set down

Active

Work that is live

  1. Doing[/]

    In flight right now

  2. Blocked[!]

    Waiting on someone else

  3. Done[x]

    Finished

That is the order MarkTodo walks: the app's board draws its tabs this way, and the plugin's columns and note headings follow the same six.

Every other tool makes you fake this one.

There is a real state between “someday” and “in flight”: the thing you have decided to do next but have not started. With no glyph for it you end up improvising — an invented tag, a fake due date, a saved search you maintain by hand. Warming is that state, written into the checkbox, so the decision gets made once and then stays made.

Anywhere else

- [ ] Roast Thursday's batch #next

MarkTodo

- [>] Roast Thursday's batch

Blocked and Paused are not the same thing.

Most tools collapse both into one “on hold”, and then you cannot tell the two apart when it matters most — at a standup, or on a Sunday night.

  • BlockedSomeone else stopped it. The work is live, so it stays in the active half, in your face.
  • PausedYou stopped it. That is a planning decision, so it drops back to the planning half and out of today.

The names are fixed, on purpose. A Doing heading means the same thing in every vault, on every device, in both programs. That is what makes the vocabulary worth learning — and what lets a note written on one device read correctly on the next.

The same six statuses as six columns on a Kanban board in Obsidian

The same six, as columns in the Obsidian plugin.

One line of Markdown

This is the entire data model.

No database, no project file format, nothing to export. A MarkTodo todo is a checkbox in a note you already own — and every feature attaches to that line, or not at all.

Status
the glyph is the status — nothing mirrors it
Your words
kept byte for byte
Priority
optional, one of three
Due date
stays inline, where you typed it
Identity
an id in a comment Obsidian never draws

The same line, drawn by the app

Demo old floor

Home Reno

highdue 2026-07-01

Two programs, one grammar

Checked off on the bus. Written up at the desk.

The app and the plugin share the same parser and the same glyph geometry, copied between the two repositories on purpose. Neither one owns your todos; the folder does.

Android app

  • Three panes, one swipe apartProjects, your list and the todo you are in, side by side. Nothing ever covers the list.
  • Your vault, not a copyPoint it at the folder on your device. It reads and writes the same .md files through Android's storage picker.
  • Agenda, Inbox and projectsBoards and lists on a phone-sized screen, with a floating toolbar whose + writes straight to the file.
  • Reminders that ringAdd notify @ and a time to a todo and your phone reminds you. A home-screen widget and a Quick Settings tile keep your todos a tap away.
  • Works offline, because there is no onlineNo sign-in, no server round-trip. If the file is on the device, the app can open it.
Get it on Google Play

Obsidian plugin

  • A dashboard beside your notesInbox, Agenda, Todos and every project in two columns, like Notebook Navigator. Search, filter and add without leaving it.
  • Agenda at a glanceWhat is overdue, what is due now, what is coming this week and the reminders you set, across the whole vault.
  • Capture without leaving the lineType mtodo after a space at the end of any line to make it a todo right there, open the todo editor, or send it to your catch-all note.
  • Drag to reorderMove a card between columns and the line moves in the note. The file is what changed.
  • Adoption, not conversionPlain checkboxes keep working untouched. One gets an id the first time you act on it.
Installation steps

iOS is not built yet. If enough people want it, it gets built —say so in Discord.

Both are free, in full. A one-time Pro unlock is coming to the app, and it is what will fund the time that goes into building them —the story, if you're curious.

The short version

What MarkTodo does not do.

The privacy page is the long version, and it is shorter than you expect.

Markdown todos, designed for mobile.