this post was submitted on 08 Mar 2026
104 points (98.1% liked)

Selfhosted

56957 readers
1399 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

  7. No low-effort posts. This is subjective and will largely be determined by the community member reports.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

I’ve been building a self-hosted task manager focused on something I couldn’t find in one package: true offline support, fast sync across devices and API support.

Most open source task apps I tried leaned toward either:

  • good offline support but weak multi-device sync with no API support
  • or good sync but limited offline functionality

Will Be Done is my attempt to solve both.

Demo: https://demo.will-be-done.app/

GitHub: https://github.com/will-be-done/will-be-done

Home page: https://will-be-done.app/

What is supported right now:

  • True offline mode - reads and writes happen in the local browser DB and sync to the server when it becomes available again (so you can still use it even if your homelab is down!)
  • Fast sync across devices
  • Tasks and projects with drag-and-drop support
  • Kanban inside projects
  • Weekly planner
  • Recurring tasks
  • Vim keybindings

Planned in the near future:

  • CalDAV integration
  • Import from Todoist / TickTick / Microsoft To Do
  • API support
  • MCP support
  • Desktop app with global quick-add shortcut

Why I built it:

This is my third attempt over the last 3 years to build my ideal task manager, and I now use it daily.

I’ve worked on local-first and sync-heavy systems professionally, so offline-first architecture is something I care a lot about getting right.

Installation:

Single Docker command, no docker-compose, no external dependencies, SQLite included.

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 feedback from people here, especially if you care about self-hosting, offline-first apps, or replacing proprietary task managers.

top 16 comments
sorted by: hot top controversial new old
[–] cheese_greater@lemmy.world 12 points 6 days ago* (last edited 6 days ago) (1 children)

Are infinite nesting/subtasks and drag/drop possibillities for the future?

I would kill for a Todoist replacement like that. GoodTask is pretty damn close but theres always still that itch that only Todoist scratched lol

Very ripe area for your efforts, right on bro

[–] quolpr@lemmy.world 6 points 6 days ago (1 children)

Thanks for the feedback!

DnD is already here. You can reorder tasks/move to other projects. And as for nesting, it's pretty complex feature. It will be hard to implement and maintain (especially maintain), so not planning right now, unfortunately. But at least I plan to add subtask list.

[–] cheese_greater@lemmy.world 3 points 6 days ago* (last edited 5 days ago)

Thx for thoughts, ya its probably a but of a doozie in terms of complexity. Setimes i wonder if its better for me i dont have that capabillity anymore, gotta split things up, more+, +rather

[–] Nednarb44@lemmy.world 10 points 6 days ago* (last edited 6 days ago) (1 children)

This looks solid. I've been using SuperProductivity for a while, but the json syncthing uses to sync between my computer and phone keeps breaking. Your project looks like it has a very similar interface, which I like. I'm looking forward to giving this a shot.

Edit: any chance for a mobile app on f-droid down the road?

[–] quolpr@lemmy.world 5 points 6 days ago* (last edited 6 days ago) (1 children)

Yep, that's why I don't like SuperProductivity, it's hard to make proper sync on top of json/caldav(especially with proper conflict resolution). As far as I know, SuperProductivity building its own cloud sync protocol, but it's plan to be a paid feature anytime.

As for mobile version - yep, I plan to add them too. It's already support PWA, so you can install app as a bookmark (and it opens pretty fast btw! And works offline also). But I want to have proper notifications in future and maybe widgets, so andriod/ios will be, but not sure when.

Thanks for the feedback!

[–] Nednarb44@lemmy.world 1 points 6 days ago (1 children)

Yeah I think them adding a cloud sync as a paid option is entirely fair, but not something I want.

Thanks again for sharing the project!

[–] quolpr@lemmy.world 1 points 5 days ago

Yep, I agree too, it's totally fair 👍

Thanks for your feedback!

[–] baner@lemmy.zip 2 points 4 days ago (1 children)

Not gonna lie, this looks promising. Keep the good job.

[–] quolpr@lemmy.world 1 points 4 days ago

Thanks! I am already building this iteration for one year, and I enjoy it! Both development and daily usage

[–] ki9@lemmy.gf4.pw 1 points 5 days ago (1 children)

Been meaning to make something like this, where every day has a list and I can swipe through days. I want uncompleted tasks to be moved to the next day at midnight. Finally, I want default (repeating) tasks every day or every week, which don't carry over.

Been too lazy to make it myself so right now I have a daily todo list template (text file) that gets copied to $(date -I).md a month in advance. I keep a few days open in nvim tabs and access them on my phone via ssh/termux. Then the cronjob archives old lists. Kludgy but been using it for years.

[–] quolpr@lemmy.world 1 points 5 days ago

Yep, that's actually what I am doing except moving task to next day. I am still not sure about automatic moving part, though I am doing this by hand. I will need to play with this auto-moving flow a bit and maybe will bring it as a setting option.

I also have some strong desire to make tui or just CLI, but don't have resources for this right now.

Thanks for sharing your flow!

[–] modular950@lemmy.zip 1 points 5 days ago (1 children)

Going to give this a look-see!

Currently having an issue where launching from the PWA (via Vanadium on GrapheneOS) results in the manifest.json page rather than redirecting to login or cached session. I suspect this has more to do with my own browser configuration possibly, but once I get that sorted, I'll be eager to take it for a drive!

[–] quolpr@lemmy.world 1 points 5 days ago

Oh, that's interesting. Log in page as first page looks correct - once logged in you should always see your tasks on app launch.

But I think I should correct my manfest.json and hard-code open page to be /.