I just leave this link here. Quip is one of my favorite offline-first cross-platform app. They use leveldb (realm is also based on leveldb) on the client and use mysql on the server. Protocol buffers are used for communication although thats just a communication method.
https://medium.com/@btaylor/react-with-c-building-the-quip-m...