Thanks for the great articel!
Would we call this MVVM even though it is not reactive? You have to click a button to update the UI. Why not bind the UI with a Koltin Flow and allow any data changes to be refected in the UI?
Something like:
getContacts() : Flow<List<ContactResponseModel>>
https://developer.android.com/codelabs/basic-android-kotlin-training-intro-room-flow#8
If time allows will rewrite this to be reactive.