Your ideas sound like good ones to me. Its similar to how my middleware, ParseCareKit
works which keeps the local core data store in sync using vector clocks with Parse in the sample app I posted on the other thread. It’s basically a synchronized distributed database. To get some ideas on how to setup your core data store for something like this, I recommend looking at Apples CareKit (specifically the OCKStore):