Creating the Lyft Driver App: Reduce, Reuse, Recycle
summary
Lyft splits one unified app into separate Passenger and Driver APKs by modularizing features, moving deep links and long‑running jobs into feature modules, and extracting shared code into true common modules. The work creates 100+ modules in a single monorepo, uses Gradle modules compiled with OkBuck/Buck, and resolves Dagger circular dependencies. Resulting artifacts show roughly 30–40% APK size reduction per app, CI runs all tests, and builds take about 2‑minute times.
AI-written summary · about
chapters (10)
- 0:00Introduction and speaker background
- 1:24Driver experience overview
- 4:54Motivations for splitting the app
- 8:21Engineering benefits of modularization
- 10:03Splitting the monolithic app
- 13:12Strategies for modularization
- 14:17Reducing module responsibilities
- 16:24Reusing common modules
- 17:26Recycling app module components
- 19:33Results and Q&A session
related talks
24mCreating the Lyft Driver App: Reduce, Reuse, Recycle
45mScaling Architecture at Lyft
33mFrom Four Wheels to Two
30mFrom Four Wheels to Two
01h 00mAndroid builds
14mChanging Lanes with Lyft
46mBuilding a SuperApp: Lessons from merging multiple apps into one
19mHow we brought the Uber Driver App to Android Auto
