Using server-driven UI to rapidly iterate across platforms
summary
Airbnb builds a server-driven UI so reservation screens on web, iOS, and Android update from a polymorphic JSON API parsed into UI components, letting teams flip a carousel to a map across all platforms with a backend change and no app release. Android uses Jackson+Epoxy pipeline to deserialize rows into Epoxy models; forms use Wall‑E for step/validation logic; platform tooling scales into LONA spec with Kotlin DSL, codegen, CI tests, explicit versioning and fallbacks so it works in production.
AI-written summary · about
chapters (10)
- 0:00Introduction to server-driven UI
- 2:13Problem with repeated screens
- 4:21How server-driven UI works
- 8:34Android implementation details
- 12:08Wall-E user flow system
- 17:47LONA infrastructure overview
- 21:58LONA code generation benefits
- 24:32Handling versioning challenges
- 26:42Tips for implementing server-driven UI
- 28:04Summary and Q&A
related talks
24mUsing Server Driven UI to rapidly iterate on Android and Across Platforms
33mA page out of Server driven UI on Android
41mA page out of Server driven UI on Android
48mA page out of Server driven UI on Android
49mLife is too short to develop only for Android - A journey to Server-driven UI
35mLife is too short to develop only for Android – A journey to Server-driven UI
32mLife is too short to develop only for Android – A journey to Server-driven UI
33mLona: Scaling Server-driven UI
