Coupang Android Architecture Part 3
Article Summary
Seongchul Park from Coupang reveals how their Android team escaped the 'big ball of mud' by rethinking how they organize code. Spoiler: it wasn't just about modules.
After splitting Coupang's Android app into 13 core modules, the team still had a mess of tangled dependencies. The culprit? They were organizing code by component types (activities, fragments, adapters) instead of by business features. This is Part 3 of their architecture transformation series.
Key Takeaways
- Feature-based packaging beats component-based for scalability and removability
- Used marker interfaces to avoid rewriting ProGuard configs after every package change
- Visualization tools like APK Dependency Graph showed dramatic reduction in coupling
- Aligned package structure with team domains (search, login, cart) to distribute work
Critical Insight
Coupang transformed their Android codebase from a tangled dependency web into cleanly separated feature packages that teams can modify and remove independently.