App architecture is how you organize your code so an app stays easy to understand, test, and change as it grows. Without it, screens end up holding network calls, database queries, and business rules all in one place.
Begin with the idea of separation of concerns and the ViewModel, which holds screen state and survives configuration changes. Then learn MVVM and unidirectional data flow: state flows down to the UI and events flow up. From there, add a data layer with repositories, an optional domain layer with use cases (the core of Clean Architecture), and dependency injection with Hilt to wire it all together.
The lessons below are video tutorials. Start with the ViewModel video, watch the full guide for the big picture, then build the note app to see each layer in a real project. Then continue on to Navigation & State.
An introduction to using ViewModel in a Compose app, and a first step toward clean architecture with MVVM.
A complete walkthrough of structuring an Android app with MVVM and Clean Architecture using Jetpack Compose.
Philipp Lackner builds a CRUD note app with Jetpack Compose, MVVM, use cases, Hilt, and navigation, so you can see each layer in a real project.