Modularization at scale
summary
GetContact is a communication superapp with 5+ million users that grows from 5 initial modules to 50+ modules, and faced Gradle builds taking up to 50 minutes. The proposed pattern uses feature-first modules plus library and plugin layers, coordinators for cross-feature composition, launcher/demo apps to speed development, Dynamic Feature Delivery for region-specific bundles, and internal Maven-published libs. Teams run module unit tests plus integration tests and prefer feature modularization over layer-based splits to reduce merge conflicts and improve parallel development.
AI-written summary · about
chapters (18)
- 0:00Intro
- 1:33Problems
- 4:47Solution
- 6:44What is modularization
- 7:17Advantages of modularization
- 10:35Disadvantages of modularization
- 15:31Library module
- 21:20Feature modules
- 27:00Feature coordinators
- 29:15Component driven principle
- 36:15Modularization at scale
- 37:39Testable logic in specific modules
- 38:50Code duplication
- 40:19Over modularization
- 42:11Use cases and repositories
- 43:37Start a project like a single module
- 44:54Organize communication between different features
- 45:50Manage multiple features
related talks
27mModularising the right way
36mModularization - How hard can it be?
32mRoad to modularization
32mBuild a modular Android app architecture
23mModularizing Your App
30mModular Android Development
35mThe Great Modularization: How We Scaled a 15-Team React Native App Without Losing
39mScaling an Android App from 1 to 100 developers with modularization.
