Android Guild Week 2: More Modules
Article Summary
Strava's Android team hit a wall trying to modularize their codebase the traditional way. So they flipped their entire architecture upside down.
During their second Guild Week, Strava's Android engineers were extracting features from a monolithic module into separate modules to improve build times and code separation. After days of untangling dependencies, they realized their downstream extraction approach was too slow.
Key Takeaways
- 74% of code still lived in the handset module after initial modularization
- Switched from pulling features downstream to pushing them upstream
- New approach enables Gradle caching and faster incremental builds
- Moving working code first, then decoupling iteratively
Critical Insight
By inverting their module dependency graph, Strava can now modularize features in days instead of weeks while unlocking build performance gains.