Jetpack Compose State

Jetpack Compose State

Learn the essentials of one of the pillars of Compose: State & recomposition.

Can I take this course? 🤔

This course is still under development. It will be available soon, so stay tuned 🙌


This course is split in several parts with a mix of slides, videos, and exercises. It covers the following topics:

  • State as the source of truth of our Composables.
  • Recomposition. How to think about it and how it works internally.
  • Stateless vs stateful Composables. Reusability.
  • State hoisting.
  • Data stability. Aiding the compiler. @Immutable vs @Stable.
  • Smart recomposition.
  • Debugging recompositions.
  • Snapshot State as a mechanism to isolate state in concurrent environments.
  • State saving and restoration for surviving configuration changes and process death.
  • Derived state.
  • Integration of Compose State with other data types for representing observable state. E.g: LiveData, Flow, StateFlow, SharedFlow, RxJava’s (2 and 3) Observable, Flowable, Maybe, Completable.

Price / Duration

This course is designed as a simple to digest collection of self consumable learning pills to make it easier for attendees. The course lasts around 3 hours. My goal is to help you grow a solid mental mapping on how to think about State in Jetpack Compose.


When you enroll, you will get the sources with the final solution to all the exercises. You will be able to use it as a reference.

Author / instructor 👨‍💻

I’m Jorge Castillo 👋 Android & Kotlin Google Developer Expert. I created this course and I will be your instructor.

I have good experience in online courses, having created courses about different topics like Kotlin, Functional Programming, or Jetpack Compose, to name a few. I am also a very active member of the Android community. I am currently writing Jetpack Compose Internals 📖.

As developers, we usually want to keep fine-grained control on the content we consume. We prefer to cherry-pick small pieces of knowledge rather than diving into very long ones, as possible. That makes this self-paced short video format a perfect option.