Stay organized with collections Save and categorize content based on your preferences.

Architecture and state

Learn how to create a functioning app, using navigation, advanced state and side effects.


Architecting your Compose UI

Article Optional

This guide focuses on how to implement the unidirectional data flow pattern in Compose, how to implement events and state holders, and how to work with ViewModels in Compose.

A Compose state of mind

Video Optional

Learn about Compose's state model and the Composition, when to hoist state and create state holders or use AAC ViewModels, and how to mutate state when you're outside the Composition safely so that these changes are tracked by Compose.

Advanced state and side effects


Learn advanced concepts related to state and side effects APIs in Jetpack Compose. Learn how to create a state holder for complex stateful composables, create coroutines and call suspend functions from Compose code, and trigger side effects for different use cases.



Learn how to use the Jetpack Navigation library in Compose, navigate within your application, navigate with arguments, support deep-links, and test your navigation.


Test what you’ve learned and earn your Architecture and state badge.