One module hurts

Everything in :app means everything rebuilds

PawWalk has grown a lot since module 4: Compose screens, coroutines and Flow, a Room cache, Hilt wiring. If all of that still lives in one Gradle module β€” :app β€” then changing one line in the bookings screen forces Gradle to recompile the entire app: auth, tracking, the design system, all of it. On a small app that's a few seconds. On a real app, that's minutes, every time, for every developer.

A single module also has no enforced boundaries. Nothing stops the bookings screen from reaching directly into auth's internals, or the design system from quietly depending on the network layer. Over time those shortcuts turn the codebase into a ball of mud where nothing can change without touching everything else.