The inside story of Jetpack Compose
Jul 29, 2026 · 1h 7m
Summary
Hosts Tor Norby, Romain Guy, Chad Haas, and Clara Vallari celebrate Compose’s fifth anniversary by recounting its origins from the "Great Widget Migration" project. They discuss merging the R4A and Crane initiatives, learning from Flutter’s UX, and the controversial shift to a Kotlin-based, declarative API. The episode highlights how the team navigated technical challenges, naming debates, and tooling constraints to deliver Compose 1.0.
Topics discussed
Introduction and the 5th anniversary of Compose
Early struggles with the View system and naming
The origin of the project: Gwimi and the 2017 decision
Research phase: R4A, XML syntax, and the Boston meeting
Influence of Flutter and the shift to a code-first model
The decision to use Kotlin and compiler plugins
Abandoning XML and the move to pure functions
Defining 1.0, DevRel involvement, and the JetApps
The naming saga: From Gwimi to Compose
Designing the layout system and the 'staircase' philosophy
The evolution of Previews and LiveEdit
Theming, styles, and the state management model
Retrospective on API design and the modifier system
Regrets: Drawing APIs, performance, and ergonomics
The journey to 1.0 and the Play Store adoption
Why the name 'Compose' stuck and the Jetpack branding
Highlights: Slot APIs, animations, and tooling collaboration
Future outlook and closing remarks
Listen ad-free on Castria