Hi, thanks for the question. The purpose of the post is about adding offline support to an existing project. So the assumption is that one may already use the RxJava, and that’s why it is included here. You are right about using the same scheduler for subscription and observation, and that’s done on purpose to show that no UI thread is included. Arguably, what is used in the post and the sample app is very basic, but one may have various data transformations, filtering etc. before making use of the downloaded data. Not sure if you’ve gone through the post carefully, but it covers the approach with using coroutines as well.