whatisgithub

What is pokedex?

skydoves/pokedex — explained in plain English

Analysis updated 2026-06-24

8,322KotlinAudience · developerComplexity · 3/5Setup · moderate

In one sentence

A sample Android app that fetches and displays Pokémon data from a public API, built as a reference for modern Android development patterns including MVVM, Hilt, Coroutines, Room, and Retrofit.

Mindmap

mindmap
  root((Pokedex))
    What it does
      Pokemon data display
      Architecture reference
      Pattern showcase
    Tech Stack
      Kotlin
      Room database
      Hilt and Retrofit
    Patterns
      MVVM architecture
      Repository pattern
      Coroutines and Flow
    Features
      Animated transitions
      Offline caching
      Material Design
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Study how MVVM architecture and the Repository pattern fit together in a production-quality Android project.

USE CASE 2

Clone and adapt as a starting template for a new Android app that needs network calls, local caching, and animated transitions.

USE CASE 3

Learn how to combine Hilt dependency injection with Kotlin Coroutines, Flow, and Room in a single codebase.

What is it built with?

KotlinAndroidHiltRoomRetrofitCoroutinesGlide

How does it compare?

skydoves/pokedexflorisboard/florisboardzhanghai/materialfiles
Stars8,3228,3148,295
LanguageKotlinKotlinKotlin
Setup difficultymoderateeasyeasy
Complexity3/52/51/5
Audiencedevelopergeneralgeneral

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires Android Studio and an Android emulator or physical device running API 21 or higher.

No license information stated in the explanation, check the repository directly for terms.

So what is it?

Pokedex is a sample Android app built to show how a modern Android project should be structured. It fetches and displays Pokemon data from a public API, and uses that relatively simple premise as a canvas for demonstrating a wide range of Android development tools and patterns used in professional apps. The goal is to serve as a reference for developers learning how these pieces fit together. The app follows the MVVM architecture pattern, which stands for Model-View-ViewModel. This separates the code responsible for showing things on screen from the code that fetches and holds data. It also uses the Repository pattern, which adds another layer between the app and its data sources so that switching or combining sources stays manageable. These are the structural patterns recommended in Google's official Android architecture guidance. On the technical side, the app uses Kotlin throughout and relies on Coroutines and Flow, which are Kotlin's tools for handling work that takes time, like network requests, without freezing the app. For the local database it uses Room, which is a wrapper around Android's built-in SQLite database. Dependency injection is handled by Hilt. Images are loaded from the network using Glide. Network calls go through Retrofit. The UI uses Material Design components and includes animated transitions between screens using a library called TransformationLayout. The project is featured on Google's developer library as a reference example. It runs on Android devices with API level 21 and above, which covers most Android devices currently in use. A Jetpack Compose version of the same app exists in a separate repository for developers who want to see the same patterns applied with Android's newer UI toolkit. The author of the repository also maintains related paid resources, including books and interview guides focused on Android and Kotlin development, which are linked from the README.

Copy-paste prompts

Prompt 1
Explain how the Repository pattern is implemented in the skydoves/pokedex Android app and how I would add a new external data source.
Prompt 2
Show me how to set up Hilt dependency injection in an Android app following the pattern used in the Pokedex reference project.
Prompt 3
How does the Pokedex app use Kotlin Coroutines and Flow to handle API calls and update the UI reactively?
Prompt 4
Walk me through adding a new screen to the Pokedex app using the existing MVVM pattern, Retrofit network call, and Room caching setup.

Frequently asked questions

What is pokedex?

A sample Android app that fetches and displays Pokémon data from a public API, built as a reference for modern Android development patterns including MVVM, Hilt, Coroutines, Room, and Retrofit.

What language is pokedex written in?

Mainly Kotlin. The stack also includes Kotlin, Android, Hilt.

What license does pokedex use?

No license information stated in the explanation, check the repository directly for terms.

How hard is pokedex to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is pokedex for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.