
Pokedex
Pokedex
Pokedex is a multiplatform app built with Kotlin Multiplatform and Jetpack Compose. It allows users to search for Pokémon, browse an infinite list, and view detailed information — all using clean architecture and the MVI pattern.
Pokedex is a Kotlin Multiplatform application developed using Jetpack Compose for UI, designed with clean architecture principles and the MVI pattern to ensure scalability and testability.
The app features a seamless Pokémon search powered by the PokeAPI, an infinite scroll list for exploring all available Pokémon, and a detailed view for each Pokémon including types, stats, and abilities.
I implemented the app with a clear separation of concerns using the data → domain → presentation structure. State management is handled via the MVI (Model-View-Intent) pattern, making it easier to maintain and extend.
The multiplatform setup allows the business logic and API layer to be shared across Android and iOS, while the UI layer is fully built with Jetpack Compose on Android.
For dependency injection, I used Koin. Networking is handled with Ktor and JSON parsing with Kotlinx Serialization. Navigation across screens is implemented with navigation component. Image loading is optimized using Kamel.
Key features include reactive UI state, loading indicators, error handling, and consistent data flow between layers. The entire architecture was designed to be modular, testable, and performance-friendly.
See Application
Timeline
: June 2025
Tech Stack
Kotlin Multiplatform
Clean Architecture
Jetpack Compose
MVI Pattern
Koin
Ktor
Kamel
< Previous
Gutenread
Next >
MySIIS