We are building an offline-first Android SDK app. The solution we're working on runs on a mobile device in areas where internet connectivity is intermittent or does not exist. The applications needs to be able to collect data and when it reaches a home base or finds internet connectivity, we'll sync it with the host.
We've heard Realm and Pouchdb could be a good solution, but we are curious if anyone has any experience with either or have another path forward.
I recommend Firebase because it has an offline and sync capability that can handle the case you've outlined. Trying to keep consistency between on-device and remote DB is not fun - so I suggest you use a platform that can handle that easily. I think Amazon's Mobile SDK will let you do the same with either SimpleDB or Dynamo - never used it though but read about it.
The drawbacks of Firebase are cost - be careful about how you design your schema!
Thanks for the heads up. We have considered Firebase, but the issue is that these data collections are in really remote areas where there is absolutely no internet connection. If only Firebase was self-hosted :-)
Maybe time to look at GraphQL - https://www.slideshare.net/AmazonWebServices/real-time-and-offline-applications-with-graphql