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.

  • ki9@lemmy.gf4.pw
    link
    fedilink
    English
    arrow-up
    1
    ·
    12 hours ago

    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.