Spyke

Replies

Comment on

[AIP] Will Be Done v0.10 released: offline-first self-hosted task manager with weekly timeline. Now with checklist!

Reply in thread

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.

Comment on

Will Be Done - modern offline-first self-hosted TickTick/Todoist alternative

Reply in thread

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!

Comment on

[AIP] Will Be Done v0.10 released: offline-first self-hosted task manager with weekly timeline. Now with checklist!

Reply in thread

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.

Comment on

Modern offline-first self-hosted open-source TickTick/Todoist alternative. Now with desktop app and quick add global OS popup!

Reply in thread

Oh yeah, it's a long story!

My core idea is to build a task manager that will stay with me for the rest of my life. Because of that, my main requirement is for it to be fast even with a massive database. If I have 10k+ tasks saved over the years, it should still load 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 the server status.

Finally, I wanted a clean API so I could connect things like an MCP server or create tasks via Telegram.

I couldn't find an existing app that met all these needs, here is a table where I compared all self-hosted apps that I found(in awesome self-hosted github):

Here is how my journey went:

  1. First approach: I tried using Redux and MobX. Performance sucked. The main reason is that MobX/Redux don't support B-tree indexing. Local-first apps rely heavily on "intervals"(cause you use fractional-indexing-jittered to order things and to support LWW per column), and that’s exactly where B-trees shine. Without them, it just got slower as the data grew.
  2. Second approach: I tried a reactive UI based on persistent SQLite queries (using wa-sqlite). It worked well for small lists, but it felt sluggish once the dataset got large.
  3. Third approach (Current): I decided to build my own DB solution, which you can see here: HyperDB. The trick is that you write the logic once, but on the frontend, it runs against an in-memory B-tree index (which is incredibly fast) and data still stored at persistent wa-sqlite layer, while on the backend, it runs against persistent SQLite (which keeps memory usage low).

This third approach finally solved all three requirements. It’s hard to find an open-source app that does this because this specific architecture is difficult to "cook" correctly. On top of the database speed, I also had to solve the sync problem, that should also somehow resolve conflicts while clients are offline, which I handled by building own sync layer with LWW CRDT per column.

Comment on

Modern offline-first self-hosted open-source TickTick/Todoist alternative. Now with desktop app and quick add global OS popup!

Reply in thread

I checked Planify - wow, it is a decent work. But as far as I see it misses web app, mobile mode (will be done can do it with PWA) and macOS/windows platforms.

Also, the killer feature of will be done - the planner mode. You can plan your tasks through week. It basically the main reason why I built it.

Also, I compared it will all others task managers that I found at self-hosted github (except Planify, it doesn't relate to self-hosted)

Comment on

Will Be Done - modern offline-first self-hosted TickTick/Todoist alternative

Reply in thread

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!

Comment on

Modern offline-first self-hosted open-source TickTick/Todoist alternative. Now with desktop app and quick add global OS popup!

Reply in thread

Thanks for the feedback! You’re right that it’s not a 1:1 replacement for TickTick/Todoist yet. That is why I used the word 'alternative' rather than 'replacement' in the title.

The core functionality is already there, and I’m working toward 70–80% feature parity over the next year or two.

I am also glad to know what particular features you miss so they will be more in my focus

You reached the end