Designing for Productivity in a Large-Scale iOS Application
Article Summary
Airbnb's iOS codebase hit 1.5M lines of code with 75 engineers shipping weekly. Xcode was literally overheating their laptops.
Airbnb's iOS team shares how they transformed developer productivity as their app scaled from a single commit in 2010 to a massive codebase serving 62 languages. They tackled code chaos, build system bottlenecks, and the loss of development joy.
Key Takeaways
- Switched from Xcode to Facebook's Buck build system with network caching
- Created 12 module types with strict visibility rules across 1,500 modules
- Dev Apps now power 50% of builds with sub-2-minute compile times
- Test coverage jumped from 23% to 50% with new architecture
- Maintained 100% code ownership despite massive reorganization
Critical Insight
By adopting Buck and a modular architecture with Dev Apps, Airbnb restored indie app development joy to a 1.5M line codebase while doubling test coverage.