PouchDB and CouchDB were what inspired me to build Triplit[1]. The idea of having an identical (or merely similar in the case of Pouch/Couch) query engine accessible on client and server is insanely powerful.<p>The author links to a much longer post on handling conflicts which is worthy of its length because it's not a pleasant experience with this setup.<p>I highly recommend trying a modern setup from one of the many new local first solutions [2]<p>1. <a href="https://triplit.dev">https://triplit.dev</a><p>2. <a href="https://www.localfirst.fm/landscape" rel="nofollow">https://www.localfirst.fm/landscape</a>
I would love to see a sync solution that didn't want to replace my datastore, or mediate all access to it.<p>This approach means the tools have to be good at not just sync, but also querying, business logic, validation, authn, authz, trigger background jobs, etc. That's a lot!<p>I'm not trying to eliminate my backend, nor an all-in-one frontend DB. I've tried tools that do that, and I've come to think the approach has severe limits.<p>I wonder if there's not a way to offer a two-way stream of data change events, with conflict detection/resolution, which I can process with my own code.