I actually got to work on this tutorial and library a bit myself. It was 5 years ago since I last worked on Android, so it was fun to see how the ecosystem changed. The introduction of the viewModel is particularly powerful for building reusable libraries on Android. The RecyclerView and ConstraintLayout are also nice improvements. Perhaps the biggest improvement though is the LiveData concept. That really reduces the boilerplate code you need. Have a look at the end result, a tutorial on how to build Chat with Java/Kotlin for Android.