from Hacker News

Ask HN: Resources on Building a Syncing Engine?

by mikaelmello on 8/30/21, 3:00 PM with 4 comments

Hi everyone, I'm building your standard CRUD app as a toy project to explore some fields I'm interested in.

My goal is to make the app local-first with the option to synchronize to a central server and other devices. The data should also be E2E encrypted, meaning that users should input their passwords in order to decrypt the data downloaded from the server.

What I'm asking in this question are resources on how to learn anything relevant to the problem at hand. Good resources on CRDTs, distributed systems, etc., you name it.

I'm also not looking for finished products themselves (e.g. Couchbase or CouchDB), as my goal is to learn this stuff and implement myself a sync engine specific to my app. However I'd love to read resources about the implementation behind these products.

Thanks!

  • by jmnicolas on 8/30/21, 3:07 PM

    Good luck, you're attacking one of the hardest problems of computer science!

    Sorry I don't have anything substantial to offer except my encouragements.

  • by chana_masala on 8/30/21, 3:08 PM

    Martin Kleppmann has a few talks on this topic, including specifically CRDTs.