Best architecture for a production Android app in 2026?

I’m working on a production Android application and I’m trying to settle on an architecture that will remain maintainable as the project grows.

For a new Android project in 2026, would you recommend a fairly standard approach such as:

  • Kotlin
  • Jetpack Compose
  • MVVM
  • ViewModel
  • Repository pattern
  • Coroutines / Flow
  • Room for local data
  • Retrofit or another API client
  • Hilt for dependency injection

Or are there situations where you’d use a different architecture, particularly for larger applications with multiple modules and a fairly complex backend?

I’m especially interested in how people are handling:

  1. Modularization
  2. Offline-first functionality
  3. State management with Compose
  4. API and repository layers
  5. Testing ViewModels and business logic
  6. Keeping the codebase manageable as the number of features increases

For those who have maintained production Android applications for a few years, what architectural decisions turned out to be worthwhile, and what would you avoid if starting the project again?