Session

Offline-First MVI: Building Resilient Apps with Kotlin 2.x and Room

Users expect modern Android apps to work instantly, whether they are on blazing-fast Wi-Fi or completely offline in a subway tunnel. But building this resilience requires more than just basic caching—it demands a bulletproof, state-driven architecture.

Building on the principles of unidirectional data flow, this session combines the predictability of Model-View-Intent (MVI) with the persistence of Room to build a true offline-first application. We will move beyond in-memory state management and look at how to make your local database the absolute Single Source of Truth (SSOT).

What we'll cover:
- The Offline-First MVI Flow: Routing user intents through the local database before they touch the network.
- Reactive Persistence: Using Kotlin 2.x and Coroutine Flows to observe Room database changes and trigger Jetpack Compose UI recompositions automatically.
- Seamless Synchronization: Using RemoteMediator and WorkManager to handle background data fetching and conflict resolution without blocking the main thread.
- Transient UI States: Handling loading, error, and "you are offline" states predictably without race conditions or replaying transient events.

Whether you are building a small utility app or a large-scale enterprise platform, you'll leave this session with the blueprint to build apps that survive the harshest network conditions.

Ali Mansour

Senior Android Engineer | Tech Speaker | Content Creator | Google Developer Expert (GDE) Android Mentee | Nano Degree Android Developer from Udacity | CS Postgraduate Diploma

Cairo, Egypt

Actions

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top