Can LLMs Reproduce Four Years of Compose Migrations? Probing Automation Limits with 279 Real-World XML Projects
summary
An experiment converted 279 Android XML layouts (66 modules, ~81% ConstraintLayout) back into Jetpack Compose using an LLM that compiles each result and refines it in a self-refinement loop driven by Paparazzi screenshots. All 279 layouts compiled, but differences revealed automation limits: 151 layouts needed tool-only fixes, 10 required include files, lists and custom views needed runtime data, and human review still takes 10–27 minutes per screen; automation becomes cost-effective only above roughly 48–96 files.
AI-written summary · about
chapters (10)
- 0:00Introduction
- 2:18Verification approach
- 7:00Initial test results
- 8:46Automation failure reasons
- 14:07Impact of missing info
- 18:27Evaluating automation need
- 25:26Cost-benefit analysis
- 28:59Difficult XML patterns
- 32:37AI migration workflow
- 33:41Final conclusions
related talks
35mSomething old, something new: Adding Jetpack Compose to a large open source Android app
33mThe Evolution of Android UI Development. A Journey From XML to Compose. What’s next ?
54mOptimizing Render Performance of Jetpack Compose
44mUnleashing the Power of Jetpack Compose: Revolutionizing Android UI Development
34mRetrofitting Legacy Code with Jetpack Compose at Scale
18mCompose Adoption at Pinterest: A Postmortem
37mSomething old, something new: Adding Jetpack Compose to a large open source Android app
38mUsing ConstraintLayout in Compose
