At our startup, our target market is increasingly conducting their business, on-the-go. Therefore, we have to augment our browser-based desktop app with a mobile app.<p>Therefore, I'm now evaluating what it would take to develop a mobile app that could work completely offline and sync transaction data periodically with the central server.<p>I've read briefly about Firebase, Parse, Usergrid, BaasBox, master-master replication, and the CAP theorem. As expected, I'm royally confused now!<p>We've already built out or backend using Postgres and RoR. Ideally I'd like to stick to it, especially Postgres, as we're dealing with financial transactions. We already have HTTP/JSON APIs to read/write data. We can also develop fine-grained APIs using Thrift, if required.<p>Now, my question is, is there a project/service/SDK out there which has already solved this data sync problem? What about conflict resolution when it comes to transaction data? I understand that this is like resolving merge conflicts in git, which basically requires human intervention, but is there an SDK that will reduce dev time for such scenarios? Can said SDK work with a custom backend API?