For something that's open-source, production ready thanks to the lovely folks at Mozilla, and ready to host on your own infrastructure check out Kinto[1]. Replicache and Kinto have overlapping feature sets, but my guess is that Replicache is probably a bit more optimized (especially if the delta updates are truly as small as possible). That being said, of all the problems I've run into implementing sync for my applications with Kinto, the size of update requests hasn't been one of them. Also while Kinto can support live subscriptions, the only plugin implementing them currently relies on a third-party.
The biggest difference I see between them is that Replicache sits in front of your server, whereas Kinto _is_ your server.
Disclosure: I'm a contributor to Kinto, primarily working on transitioning the JavaScript libraries to TypeScript.
I'm sorry to say that I didn't know about Kinto. Thanks for the link!
Kinto seems, is in some ways, the opposite design approach to Replicache. Replicache answers the question: I have this existing web service with a whole complex backend stack, how do I make it work offline-first?
Kinto answers the question: I have this website, and I don't want a backend stack. Where can I store data and have it work offline-first?
I think the problem Kinto is solving is also important, thanks for sharing it.
The biggest difference I see between them is that Replicache sits in front of your server, whereas Kinto _is_ your server.
Disclosure: I'm a contributor to Kinto, primarily working on transitioning the JavaScript libraries to TypeScript.
[1] https://docs.kinto-storage.org/en/latest/