A modern Pokédex app for Android built with the latest technologies recommended by Google. This project showcases a clean, scalable architecture and a fluid user interface using Jetpack Compose.
Important
A similar project is also available in Flutter (Dart)!
👉 Pokedex_Flutter 👈
- Modern UI: Built entirely with Jetpack Compose for a declarative and intuitive UI.
- Dynamic Theming: Extracts prominent colors from Pokémon images using the Palette API to create dynamic and immersive detail screens.
- Seamless Transitions: Implements the new Shared Element Transition for smooth navigation between the list and detail views.
- Offline Support: Caches Pokémon data using Room Database, allowing the app to work offline.
- Efficient Networking: Fetches data from the PokéAPI using Retrofit.
- Optimized Performance: Leverages Coroutines for asynchronous operations, KSP for faster annotation processing, and R8 for code shrinking.
- Scalable Architecture: Follows the MVVM pattern with a repository, ensuring a clean separation of concerns and maintainable code.
- Navigation: Leverages Navigation 3 and its Type Safety features for robust, compile-time checked, and error-free navigation.
This project is built with Kotlin and utilizes a variety of modern Android libraries and tools:
- UI: Jetpack Compose, Coil ( Image Loading), Palette API
- Architecture: MVVM, UI State Management
- Asynchronicity: Kotlin Coroutines, Kotlin KTX
- Navigation: Navigation Compose 3, Navigation Type Safety, Shared Element Transition
- Data: Retrofit ( Networking), Room (Database)
- Dependency Injection: Hilt
- Build & Optimization: KSP, R8
- Custom Components: PercentageWithAnimation for displaying Pokémon stats built by @NicosNicolaou16.
- Target SDK: 36
- Minimum SDK: 29
- Kotlin Version: 2.3.10
- Gradle Version: 9.0.1
- Primary API: PokéAPI (pokeapi.co)
- Image Sprites: PokeAPI/sprites on GitHub
- Shared Element Transitions:
- Type-Safe Navigation:
- UI/UX Design Inspiration:
- Dribbble - Pokedex App by Alexandr (Note: Used as inspiration, not a direct copy)
- App Icon:
- Derived from Fandom Ideas Wiki
If you enjoy this project, please give it a star! Check out all the stargazers here: Stargazers on GitHub
This library is actively maintained. Feedback, bug reports, and feature requests are welcome! Please feel free to open an issue or submit a pull request.






