I would be very interested to learn how you manage changefeeds, e.g. distributing updates to client apps. I used RethinkDB for this, as every other solution seemed like lots of extra work.
The complex part is how we sync actual data from clients to server while ensuring consistency. We basically store all data in a tree format and having a diffing logic how concurrent changes can be applied conflict-free in most cases. I'm considering writing a separate post on that.