Home
Softono

Will Be Done

Open source TypeScript
84
Stars
3
Forks
3
Issues
1
Watchers
2 months
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

Need Help Installing Will Be Done?

We provide expert installation service for this software. Our team will install, configure, and secure Will Be Done on your server. plans start at just $30.

Will Be Done

View on GitHub

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:

  • Repeating tasks
  • Task details
  • Checklist inside task

From api perspective:

  • Open API integration
  • CLI app

UI/UX:

  • Undo/redo action

Others:

  • Migrator from popular task managers: Todoist / TickTick

Separate apps:

  • 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