Open source · Fedora desktop app · SQLite

A task list that types like a text editor.

Enter for a new task, Tab for a subtask, drag to set priorities. Clients get their own colors, deadlines warm up as they get close, and everything lives in a SQLite file you own.

Not on Fedora? It runs anywhere Node 22 does. Ask for a native app.

Task List showing tasks from three color-coded projects interleaved, with deadline chips colored from amber to red and one overdue task
Enter new task Shift Enter new line Tab subtask Alt ↑↓ reprioritize Ctrl Enter done Ctrl . deadline
Deadlines

Urgency you can see from across the room.

Give a task a deadline and an estimate of how long it will take. Its color follows one number: the time it needs divided by the time you have left.

urgency = time neededtime left
0 · plenty of time0.51 · start now

As that number approaches 1, the task warms from amber to red. Past the deadline, it pulses.

Task details popover with project, deadline presets, time-to-complete presets, and a ratio meter at 0.80
Projects & clients

One list for every client, or one each.

Every project gets a color and its own tab. The All tab weaves them together round-robin, so no client gets buried. Drag anything in the woven list and that order sticks.

  • Interleaved or grouped, switch any time
  • Each project keeps its own priority order in both views
  • Drop a task under another client's task to move it there
  • Drag the project tabs to set which client comes first
Grouped view with Personal, Acme Co and Globex sections
Drag & drop

Drag shows where it lands.

The dragged task snaps into its new spot as you move. Pull sideways to nest it, and the task that would become its parent lights up, so you can see the indent before you let go.

Dragging 'Call mom' under 'Plan Lisbon trip' with an indented drop line and the parent highlighted
Bulk edits

Select a few, act once.

Shift+↑/↓ past the edge of a task, or Shift+click, to select a run of tasks. Then delete, complete, indent, move, set a deadline or reassign the whole group in one go. Every delete can be undone.

  • Ctrl+C copies them as an outline that pastes back as tasks
  • Paste a bulleted list from anywhere and get nested tasks
Three subtasks selected with a floating bar offering Done, Deadline and Delete
Task List running as a native GNOME window
A real desktop app: a GNOME window that opens at login, with no browser involved.
Task List on a phone-sized screen
Fits a phone screen too, for checking in from the couch.
And the details

Small things, done right.

Your data, in SQLite

Real tables in one file under your home folder. Easy to back up, query or move.

Keeps working offline

If the server is down, edits are kept locally and sync the moment it's back.

Two windows, no clobbering

Every save carries a revision, so a stale window catches up instead of overwriting.

Multi-line tasks

Shift+Enter adds notes inside a task. The arrow keys move line by line, then to the next task.

Light & dark

Follows your system theme, or pin it. The urgency colors are tuned for both.

Undo for the scary stuff

Deleting tasks, clearing done ones or removing a project all offer Undo.

Try it

Click in and start typing.

This is the real app. In the browser demo, tasks are saved only on this device.

New task (splits at cursor)Enter
New line in a taskShift Enter
Subtask / outdentTab Shift Tab
Move up / downAlt ↑ ↓
Toggle doneCtrl Enter
Deadline, estimate, projectCtrl .
Select tasksShift ↑ ↓
Select allCtrl A ×2
Switch tabsAlt 0–9
Live demo
Install

Up and running in a minute.

Fedora desktop app

  1. Download the .rpm from the latest release.
  2. Install it:
    sudo dnf install ./task-list-*.noarch.rpm
  3. Open Task List from Activities. From then on, it opens by itself when you log in.

Needs Fedora 41+ (Node 22, GTK 4, WebKitGTK). Your tasks live in ~/.local/share/task-list/tasks.db.

Anywhere with Node 22+

  1. Get the code:
    git clone https://github.com/meelash/task-list cd task-list
  2. Start it (no dependencies to install):
    npm start
  3. Open localhost:4321 in your browser.

Works on macOS, Windows and any Linux. Want a proper app there instead of a browser tab? Tell us.

What's next

Want it somewhere else?

Requests decide what gets built next. It takes about thirty seconds.

Another platform

A native app for your system, packaged and starting at login, like on Fedora today.

macOSWindowsUbuntu / DebianArchFlatpakAndroidiOS
Request a platform →

Cloud sync

The same list on your laptop and phone, kept in sync. Self-hosted, hosted, or shared with a team.

Phone + laptopSelf-hostedHostedShared lists
Request cloud sync →

Something else in mind? Open an issue.