Ask five mobile engineers which architecture to use and you'll get six answers. Here's the framework I actually use when advising teams.
The three questions
1. How many people touch this code? A 3-person team doesn't need the ceremony a 30-person org does. Architecture is a coordination tool first.
2. How testable does it need to be? If business logic is trivial, don't build four layers to protect it.
3. What does the platform want? Compose and SwiftUI pull you toward unidirectional data flow. Fighting the platform is a losing game.
My defaults in 2026
| Team size | Default |
|---|---|
| 1–5 | MVVM + repositories |
| 5–20 | MVI + feature modules |
| 20+ | MVI + modules + strict API boundaries |
The best architecture is the one your team can explain on a whiteboard in five minutes.
Anything more complex than that is a liability wearing a design-pattern costume.