← Back to portfolio
featured · 01Android · Studio Ghibli

SerGibli

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.

SerGibli icon
SerGibli
Studio Ghibli Companion
Min SDK 24Target SDK 34v1.2
Kotlin 1.9Jetpack ComposeRetrofit 2Room DBMVVM
Movie Browsing List
scroll
Demo & Context

A love letter to Ghibli,
engineered for Android.

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.

Screenshots
6 screens

Movie Browsing List1 / 6

Tech Stack
Language
Kotlin
UI System
Jetpack Compose
Networking
Retrofit 2
Persistence
Room Database
Async I/O
Coroutines
Reactive State
StateFlow
Design System
Material 3
Image Loading
Coil
Architecture
src/
data/remote/

GhibliApiService & Retrofit client interfacing with the REST API. Handles HTTP requests, response parsing, and error mapping.

data/local/

Room Database & DAOs storing local favourites. Custom TypeConverters handle non-primitive types and JSON serialization.

data/repository/

Single source of truth combining remote REST data with local Room DB. Exposes clean domain models to the presentation layer.

ui/viewmodel/

MVVM ViewModels managing UI state via StateFlow. Handles asynchronous data loading on Dispatchers.IO to ensure non-blocking 60fps UI.