quolpr

joined 5 months ago
[–] quolpr@lemmy.world 1 points 4 weeks ago

Nah, it will very hard to do. I wanted it to be fast from the start, so I was playing with sync and how I store data in browser.

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

I actually agree with you. I was avoiding making doc the whole time, but as amount of features growth, readme is not enough. I will introduce a good doc soon. Thanks!

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

You still need to sign up to sync between devices. With the self-hosted version, you also create an account, but authentication and all synced data stay on your own server.

Offline-first means the app works without an internet connection; it doesn’t necessarily mean that no account is required. After sign up/sign in, you can use it offline without any problems.

[–] quolpr@lemmy.world 5 points 4 weeks ago (2 children)

It is just LWW per column. On each client I track last change of each field with current time(actually sysytemTime-counter-clientId to make time uniq). Then, when changes arrive to server, I compare previous clock time with new clock time from client. If client win, it overwrite server column time + value. No tracking causality for now, just current system time of the client.

[–] quolpr@lemmy.world 5 points 4 weeks ago

Fixed. Thanks for the hint!

 

New version of Will Be Done is released! Will Be Done is offline-first, self-hosted task manager with visual weekly timeline.

The main idea is simple: collect tasks, put them on week timeline. I find that week timeline helps me stay more organised and fits naturally into my workflow. I can see what tasks done in which day, and what tasks planned previously in which day. Then, also, I missed other things, like open-source, offline-first, API, vim keybinds support.

It works offline-first, so tasks are stored locally in browser/desktop app(like Linear). You can open app and use it even when your server or homelab is down or no internet connection. When server is back, sync will sync changes between devices and server.

Main features right now:

  • Offline-first task management. It will be still available and working if no internet connection
  • Visual weekly planner
  • Projects with columns
  • Vim-style keyboard navigation
  • Self-hosted server with SQLite as primary DB
  • Fast sync between devices
  • Recurring tasks
  • Desktop app for macOS, Windows and Linux
  • Mobile PWA
  • Todoist and TickTick import

And here is what changed since my last post:

  • Added task checklists.
  • Added Stash feature. You can store tasks that don’t have exact date yet, but you still want to keep them in focus.
  • Added task action menu.
  • Added mobile card details page.
  • Added IndexedDB support for faster and more reliable local persistence. New installs use IndexedDB by default. Existing users can turn it on in settings page.

Links:

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 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.
 

Hey everybody! I am building self-hosted fast task manager, and today I am happy announce that I made desktop app and it supports macos, windows and linux! For mobile it is still PWA. All platforms support fast sync and works offline even when your homelab is down.

Also, one of the top feature that I really wanted is global quick add shortcut. You can trigger it with cmd+shift+a on macos, ctrl+shift+a on windows/linux.

Installation

Single Docker command with SQLite as db:

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
[–] quolpr@lemmy.world 1 points 5 months ago

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

[–] quolpr@lemmy.world 1 points 5 months 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 /.

[–] quolpr@lemmy.world 6 points 5 months ago

Thanks for the honest feedback!

Could you share what specifically makes it feel like a bloated todo app to you? Also, what deployment or distribution method would you prefer over Docker?

[–] quolpr@lemmy.world 1 points 5 months ago (1 children)

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!

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

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

Thanks for your feedback!

[–] quolpr@lemmy.world 5 points 5 months ago* (last edited 5 months ago) (2 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!

[–] quolpr@lemmy.world 6 points 5 months 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.

 

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.

view more: next ›