an Online/Offline application, which the user can seamlessly interact with usage of local device storage data and then synchronizing the data with some remote storage (e.g cloud database) later with a background process . I came across the understanding of concepts such as Priority Job Queue, Room databse, LiveData (where the View observes the data) and LifecycleObserver.