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!