New version of Will Be Done is released! Will Be Done is an offline-first, self-hosted task manager with a visual weekly timeline.
The main idea is simple: collect tasks, put them on a week timeline. I find that the week timeline helps me stay more organised and fits naturally into my workflow. It works offline-first with server sync, so tasks are stored locally in the browser/desktop app (like Linear), and it also gives an instant UI.
What changed since my last post (v0.10.0):
- Added mindmap support
- Added calendar support with readonly ical/caldav integration
- Added markdown WYSIWYG editor, with collaborative edit support (yjs)
- Added OpenAPI support
- Added task recovery: deleted tasks go to Trash, and there’s an undo popup on accidental task/project/section delete
- Added undo/redo
- Added notes
- Added multi-select
Links:
Demo: https://demo.will-be-done.app/
GitHub: https://github.com/will-be-done/will-be-done
Download desktop app: https://github.com/will-be-done/will-be-done/releases
More info: https://will-be-done.app/
Self-host 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/.
Would love to hear feedback!
AI disclosure
- Design - architecture, system design: no AI involved. I’ve been working on local-first apps for ~5y and have been a software engineer for ~10y. I even built HyperDB, a database for local-first apps, because existing solutions such as Dexie and RxDB didn’t meet my needs.
- Implementation - Pair. From the start of the project it was Hint, but now it’s Pair.
- Testing - Generated.
- Documentation - Pair.
- Review - Pair. I have coderabbit AI + greptile, but also do manual review.
- Deployment - Pair.


Some months ago, I installed ran via docker to test run, and liked it. However, running it in a WireGuard tunnel on my server I cloud not get it to honour me as the same user when accessing it via mobile, despite the same credentials and the same WireGuard config.
It kept treating me as two different entities, and changes made in desktop client did not propagate to mobile client, and vice versa, despite same credentials. It’s as if it assigned me a seperate of every time Inlogged in. This then made it less than useful for me, which was a real shame because you clearly put a lot of effort into this.
I wonder if that’s fixed.
Oh, that’s interesting. I recently changed the sync code, so that could be fixed. I will appreciate if you create an issue with more details, if you will try it again
I’ll give it a try again when I have some spare time. I’ll open an issue if it persists. Keep up the good work :)