Codebases naturally grow over time by adding new features, abstractions, and migrating code to new architectures. In this session, Ralf Wondratschek introduces layers to hide implementation details and separate concerns. Good modularization brings many benefits, such as better reusability, shorter build times, and code isolation. Square builds payment, software, and hardware systems that help businesses of any type. The Android Point of Sale repository faces challenges similar to other large code bases. This talk provides an overview of how the repository evolved over the years, the difficulties Square encountered in recent months, and how the team addressed those difficulties with clear structures and common patterns to keep up with ongoing growth.