When using Jetpack Compose, ViewModel is the primary means of exposing screen UI state to your composables.
I'm currently studying how the ViewModel works in Jetpack Compose so that I can include a ViewModel in my own Android apps. I then move on to testing apps and navigation to a new screen within one activity. I've been stuck on these topics for a while and am reviewing my own documentation on this.