Home
Softono
will-be-done

will-be-done

Open source TypeScript
84
Stars
3
Forks
3
Issues
1
Watchers
1 week
Last Commit

About will-be-done

Modern offline-first self-hosted TickTick/Todoist alternative. Weekly timeline with day columns, kanban boards, drag & drop, vim keybindings. Self-hosted, local-first, open source.

Platforms

Web Self-hosted

Languages

TypeScript

Note on AI ussage: I’ve been developing this project for a year+, and this is my third attempt in three yeas; the first two failed because the technology for fast, offline-first apps wasn't ready. This time, I created my own method for local-first development and built a database that works for both the frontend and backend, so I can write one code for both of them. Also, I have over 10 years of experience as a developer and 4 years specializing in offline-first apps. Building these reliably requires specific expertise. I use Claude Code to help, but I review every line of code manually to ensure quality.

Download & installation

You should also run the Docker server. Here is the easiest way:

docker run -d \
  -p 3000:3000 \
  -v will_be_done_storage:/var/lib/will-be-done \
  --restart unless-stopped \
  ghcr.io/will-be-done/will-be-done:latest

Why build another task manager?

My core idea is to build a task manager that will stay with me for the rest of my life. Because of that, one of my main requirements is that it stays fast even with a massive database. If I have 10k+ tasks saved over the years, it should still load quickly and feel instant.

Another requirement is that it must be offline-first. I live in a country where the internet goes down pretty often, and I need my tasks to be available regardless of server status.

I also don't want to share sensitive data with companies that build task managers. A self-hosted, local-first app gives me much more control over where my data lives.

Also, I wanted a clean API so I could connect things like an MCP server or create tasks via Telegram.

Finally, I am building this to be a highly opinionated tool focused on ergonomics. I’ve found that mainstream solutions, including paid apps like TickTick and Todoist - don't quite fit my workflow. I wanted to experiment with features that are often missing elsewhere: native Vim keybindings, a week-view timeline that maximizes vertical space, and a "task suggestion" panel.

I need "Stash" feature - a persistent, focused task list accessible from any page. Just the focus list on what I plan to work this week/month.

Despite these power-user features, the goal is to keep the interface minimal and deeply visual customizable, allowing for project-specific backgrounds and color schemes.

After comparing several options from the Awesome Selfhosted list, I found that Super Productivity came the closest to meeting my needs. However, it still lacks the specific ergonomic features and visual flexibility I want for my "rest of my life" task manager.

Will be done Super Productivity Donetick Tududi Vikunja TaskTrove
Open-Source & Self Hosted
Able to open when fully offline, functional offline 🟥 🟥 🟥 🟥
DnD tasks, projects. Tasks/projects reordering 🟥 🟥
Real time refresh, no need to refresh page when new task appear ✅ (with SuperSync) 🟥 🟥 🟥
Multi tab support 🟥 🟨 🟨 🟨
API 🟨 WIP ✅ (with SuperSync)
Mobile version
Keybinds(vim preferred) ✅ even vim! ✅ keybinds highlight are smart! ✅ even vim! 🟨
Weekly planner 🟥 🟥 🟥 🟥
Categories/columns inside projects 🟥 🟥 ✅ kanban! ✅ kanban!
Desktop version with quick add global shortcut 🟥 🟥 🟥 🟥
Local first 🟥 🟥 🟥 🟥

Will Be Done - modern offline-first self-hosted TickTick/Todoist alternative

Most task managers are great at collecting tasks - and terrible at helping you plan your week. Will Be Done gives you a visual weekly timeline where each day is a column. Drag tasks between days. See what's realistic. Always know what to focus on.

This is my third attempt in 3 years to build the task manager I actually want to use. I already use it daily. Things pushed me to build it: own my data (self-hosted), a weekly planning view, instant sync, offline support and vim keybinds.

Try the live demo (no sign-up) at demo.will-be-done.app or the cloud version at will-be-done.app before installing.

Project Timeline
project timeline
Today Mobile
459_1x_shots_so 459_1x_shots_so

Installation

Run with Docker:

docker run -d \
  -p 3000:3000 \
  -v will_be_done_storage:/var/lib/will-be-done \
  --restart unless-stopped \
  ghcr.io/will-be-done/will-be-done:latest

Then open http://localhost:3000 in your browser.

Features

Plan your week, not just your tasks

  • Weekly timeline view - each day is a column, drag tasks between days to rebalance
  • No angry "OVERDUE" badges - missed tasks get a gentle nudge, not a guilt trip
  • One bad day doesn't snowball - weekly planning means skipping a day keeps your list clean
  • Kanban boards per project with categories you define (Week/Month/Ideas/Someday)
  • Multiple spaces - separate workspaces for work/personal/side projects

Fast enough that you forget it's a web app

  • Local-first - full database in the browser, every action is instant, zero network round trips
  • True offline mode - full read/write with no server, not a cached skeleton
  • Real-time sync - changes propagate instantly across all tabs and devices

Built for people who live in their keyboard

  • Vim keybindings - j/k navigation, drag with ctrl, quick-add with o/O
  • Everything drag & drop - tasks, days, projects, categories
  • Mobile ready - first-class mobile UI for when you're away from the keyboard

It's your data

  • Self-hosted - one Docker command, SQLite, no external dependencies
  • Open source - AGPL license

Vim keybinds

Global:

  1. \ - toggle stash
  2. v - toggle task details panel
  3. p - toggle project view
  4. z - zen mode: close stash, task details, and project view

When you focused on task

  1. i, enter - insert mode. You can edit the task. esc - exit insert mode.
  2. j, k - move between tasks up and down
  3. h, l - move between columns left and right
  4. ctrl-j, ctrl-k, ctrl-down, ctrl-up - move task up and down
  5. ctrl-h, ctrl-l, ctrl-left, ctrl-right - move task left and right
  6. o - create new task below focused task
  7. O - create new task above focused task
  8. space - toggle task state
  9. m - move task to other project
  10. S - stash task
  11. s - schedule date
  12. t - schedule task to today
  13. r - reset schedule
  14. d, x, backspace - delete task
  15. e - edit task description
  16. c - add checklist item
  17. a - open action menu

When you focused on project

  1. i - edit project
  2. j, k - move between projects up and down
  3. d, x, backspace - delete project

Reserved/WIP:

  1. u, cmd-z, ctrl-z - undo action
  2. ctrl-r, cmd-shift-z, ctrl-shift-z - redo action

Current Roadmap, v1.0 release

From tasks perspective:

  • [x] Repeating tasks
  • [x] Task details
  • [x] Checklist inside task

From api perspective:

  • [ ] Open API integration
  • [ ] CLI app

UI/UX:

  • [ ] Undo/redo action

Others:

  • [x] Migrator from popular task managers: Todoist / TickTick

Separate apps:

  • [x] Desktop app with global quick add

Next possible features

From tasks perspective:

  • [ ] Task comments
  • [ ] Task attachments

From api perspective:

  • [ ] CalDAV integration
  • [ ] MCP integration

UI/UX:

  • [ ] Themes per project(custom background of project and custom color of project tasks)
  • [ ] Global command palette
  • [ ] Multi selection of tasks
  • [ ] Global themes
  • [ ] DnD for project columns
  • [ ] I18n
  • [ ] More vim keybindings

Others:

  • [ ] e2e encryption
  • [ ] Global search

Separate apps:

  • [ ] Widgets support on mobile app
  • [ ] Notifications on web, mobile, desktop apps
  • [ ] Mobile app(not PWA)

Features that are not planning for now

  1. Multi users per space/project
  2. Sharing tasks/projects/spaces
  3. No time schedules for tasks