| I have a genuine appreciation for how Linear has built this. We have had to build something similar for our note taking application (Reflect). It is very tricky to do and I wish there was more research on this. In my opinion, what we need is: 1) A client-side performant SQLite database that supports live queries. I.e. you can automatically re-render the page when the queries change. That way your database can drive the UI and be the source of truth in regards to what's displayed on the screen. 2) A separate realtime syncing protocol that syncs database state to client state. And ideally this is all open source, and that these two endeavors are not coupled tightly. [1] Wa-sqlite is the best (imo) client-side db - better than than the official Sqlite WASM build (for now) because it had a indexeddb fallback for browsers that aren't the cutting edge Chrome. [2] cr-sqlite is an interesting project using CRDTs to sync state around. However I still believe that for many production use-cases you want a ultimate server source of truth. [3] Replicache is still the best closed source solution I know of. [1] - https://github.com/rhashimoto/wa-sqlite
[2] - https://github.com/vlcn-io/cr-sqlite
[3] - https://replicache.dev/ |