Note on AI: I’ve been developing this project for a year. This is my third attempt; 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. 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 for Windows
- Download for macOS
- Download for Linux
- For now, mobile users can install the PWA as a bookmark. Native mobile clients are coming soon.
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:latestMy 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 am also implementing a "Stash" feature - a persistent, focused task list accessible from any page. 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(WIP).
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 | ✅ | ✅ | 🟥 | 🟥 | 🟥 | 🟥 |
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 |
|---|---|
|
|
| Today | Mobile |
|
|
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:latestThen open http://localhost:3000 in your browser.
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
Global:
s- toggle stasht- toggle task details panelv- toggle project viewz- zen mode: close stash, task details, and project view
When you focused on task
i,enter- insert mode. You can edit the task.esc- exit insert mode.j,k- move between tasks up and downh,l- move between columns left and rightctrl-j,ctrl-k- move task up and downctrl-h,ctrl-j- move task left and righto- create new task down to focusedO- create new task up to focusedspace- toggle task statem- move task to other projectd- delete taske- edit task description
Planned:
u/r- undo/redo action?- change date
From tasks perspective:
- Repeating tasks
- Task details. Tast body with markdown support
- Checklist inside task
From api perspective:
- API & MCP integration
UI/UX:
- Undo/redo action
Others:
- Migrator from popular task managers: Todoist / TickTick
Separate apps:
- Desktop app with global quick add
- Mobile app(not PWA)
From tasks perspective:
- Task comments
- Task attachments
From api perspective:
- CalDAV 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
- Multi users per space/project
- Sharing tasks/projects/spaces
- No time schedules for tasks



