A native Android application exploring the world of Studio Ghibli — films, characters, species and locations, wrapped in a polished Material 3 UI with smooth Jetpack Compose animations.

The Project: SerGibli is a passion project built to explore the magical universe of Studio Ghibli. Users can browse all 22 films, view detailed character breakdowns, explore fictional locations, and filter species — all with real-time search and Room-backed local favourites.
The Challenge: Sergi's first deep dive into native Android development. Built with MVVM architecture, Retrofit for REST API consumption, Room for data persistence, and Jetpack Compose. The key technical hurdle was orchestrating Kotlin Coroutines between IO and Main dispatchers to maintain high UI responsiveness.
Movie Browsing List1 / 6
GhibliApiService & Retrofit client interfacing with the REST API. Handles HTTP requests, response parsing, and error mapping.
Room Database & DAOs storing local favourites. Custom TypeConverters handle non-primitive types and JSON serialization.
Single source of truth combining remote REST data with local Room DB. Exposes clean domain models to the presentation layer.
MVVM ViewModels managing UI state via StateFlow. Handles asynchronous data loading on Dispatchers.IO to ensure non-blocking 60fps UI.