I’m working on Colanode, which is built to close the gap between the convenience of cloud tools and the ownership of local software. It brings chat, docs, databases, and files into one open-source, self-hostable workspace where data lives on your devices first and syncs in the background. Unlike typical SaaS tools, Colanode is local-first: everything works instantly and offline, infrastructure stays minimal, and you keep full control of your data.
Nice post! I'm building an offline-first collaboration app and went on the route of building a custom sync engine, mainly because the app is open-source and I didn't want to introduce any dependency. I've implemented a simple cursor based sync with Postgres on server and SQLite in client side.
Initially I built only a desktop client, because I didn't like IndexedDB. After the app got into HN, someone recommended to check for OPFS (Origin Private File System).
Now we have a full offline-first app in web using SQLite on top of OPFS. We didn't test it with large scale yet, but so far looks very promising. The good thing is that we use Kysely as an abstraction for performing queries in SQLite which helps us share most of the code across both platforms (electron + web) with some minor abstractions.
Depending on your data model, LiveStore is a completely open-source, SQLite based approach for local first sync-y apps: https://livestore.dev/
It's oriented around event sourcing and syncs the events, which get materialized into local table views on clients. It's got pretty slick devtools too.
I did look into it back then, but was not very convenient for my use case. Apart from the data model, I wanted to use Yjs for conflict resolution and wanted more direct control over the sync.
p.s Just wanted to say thank you for all the contribution you do here on HN. Colanode (the app I'm building) is an alternative to Notion and I learned a lot about how you (Notion) build things through reading your comments.
Thank you! I haven’t used Notesnook personally, but from their description it focuses mainly on note-taking. Colanode, by contrast, also includes collaboration features such as chat, file sharing, and databases. One other difference is that Notesnook offers end-to-end encryption, whereas Colanode does not (at least for now).
We have been thinking for some automation/workflows to be executed on specific events. Do you have any example/use case that you might be interested in?
My 2c: A particular thing about notion that bugs me is that hn page content get imported as simple. tables and in notion there is no automated way to delete all empty cells of all tables on page, that make it unreadable, or just to convert tables automatically into text
Hi, thanks for bringing this up! We don’t have export or migration features in place yet, but we are planning to add them. Which export formats would be most useful to you? And when you mention migration, are you thinking about moving data from similar tools into Colanode or vice-versa? If so, which specific tools would you like to be able to migrate to/from?
The first export type implemented should be as minimal and human readable as possible (text files for most content, maybe w/ minimal markup). If that's not possible for all data, then standard formats like html or pdf.
After that, go after your biggest competitor. If people know they have a path back to a familiar shore they're less scared to swim in new waters.
Hi, thanks for the question! I haven’t used Huly extensively to provide a detailed comparison, but from a quick look (and a test I did some time ago) it seems to take a more opinionated approach: features such as issues, projects, and overall layout are pre-defined. Colanode, by contrast, works like Notion, giving you flexible building blocks so you can model your own workflows and knowledge structures. Huly may be quicker to get started with, while Colanode offers greater adaptability over time (this comes down to personal preference). Another key distinction is tech architecture: Colanode is built around a local-first design, providing full offline support with background syncing. I haven’t found equivalent offline capabilities documented for Huly, even though they may have them.
Hi, thanks for the question! Yes, we do plan to implement mobile apps, but we don't have a concrete timeline yet. It depends on the limitations and challenges we might face when we implement the same local-first approach as we did in desktop (full offline support, background syncing etc).
reply