MVVM & LiveData used to observe data to view and to persist data through config changes by using observable pattern
Navigation Component used to map navigation between fragments
Room : Save data locally
Coroutines : execute code in background .
DataBinding : better inflating view rather than findViewById that causes lots of problems . also link data with observables liveData/flowState in viewModel
Glide : images loaded and cached by URL.
Intuit : An android lib that provides a new size unit - sdp (scalable dp).