Inspiration

We were frustrated by how dry and linear most technical learning platforms feel. You either watch a multi-hour video course or look through documentation hoping something works. We asked ourselves, what if learning felt like something you wanted to open even when you felt unmotivated? Pokémon was the game that made an entire generation obsessive about collecting and leveling up so we borrowed that loop. The thrill of catching a rare Pokémon, the dopamine of leveling up, the urgency of a battle, all of it mapped surprisingly well onto the struggle of actually learning data science concepts.

What it does

PokéLearn is a full browser-based learning RPG where: You create a trainer profile and select the data science topics you care about like stats, Python, ML, deep learning, SQL, NLP, time series, cloud/MLOps, and more. A personalized pretest generates 12 questions drawn specifically from your chosen topics, and your score places you into one of four levels, Beginner (Bulbasaur), Intermediate (Wartortle), Advanced (Charizard), or Master (Mewtwo) with a matching starter Pokémon awarded based on performance. A recommendations engine then curates your module path based on score and topic selection. You work through interactive learning modules with concept cards, embedded videos, knowledge check quizzes, and feedback forms. An overworld battle map lets you fight wild Pokémon by answering questions correct answers weaken the Pokémon and raise your catch chance, while wrong answers damage you. A KnowledgeDex tracks every concept-Pokémon you've caught across all five zones. A Change Topics feature lets you update your learning path at any time and optionally retake the pretest with fresh questions.

How we built it

PokéLearn was built as a modern web application using a lightweight but powerful tech stack.

Layer Technology Framework React 18 + Vite Routing React Router DOM v6 State Management Zustand AI Integration Groq API (LLaMA 3.1) Styling Vanilla CSS Sprites Animated Pokémon sprites from the PokeAPI CDN

The application features a node-based overworld map, dynamic quiz generation, and an integrated AI tutor that assists users directly alongside learning content.

Challenges we ran into

The biggest bug we hit was every correct answer was hardcoded at position 1, always the second choice, making every quiz trivially gameable. Fixing it meant rewriting 200+ question objects with varied correct positions and building a Fisher-Yates shuffle that randomizes answer order fresh on every render while correctly tracking the new correct index. We also had to balance the pretest so it draws proportionally from however many topics a user selects, whether they pick 1 or all 10, without feeling repetitive or sparse. ;

Accomplishments that we're proud of

We're proud that it ships as a single file and still feels like a complete, polished product. The four-tier level system, where your pretest score determines which starter Pokémon you earn, makes performance feel genuinely meaningful rather than cosmetic. The recommendations engine actually adapts to you, and the Change Topics feature lets learners self-direct their path at any point without restarting from scratch.

What we learned

Gamification only works when the game mechanics are directly tied to learning outcomes, if you can button-mash your way to a rare Pokémon, the whole thing falls apart. We also learned that personalization signals matter a lot: showing someone their exact topics in the pretest and their earned Pokémon on the results screen makes the experience feel made for them, not just reskinned for them. And shuffling answer choices sounds trivial until you silently break the correct index tracking and wonder why everyone is getting 100%.

What's next for Application

We want to add persistent accounts so progress survives across sessions, spaced repetition to resurface questions you got wrong at optimal intervals, and dedicated battle zones for NLP, time series, and cloud/MLOps. Further out: multiplayer head-to-head battles where two learners race to answer the same question, an instructor mode for uploading custom question sets, and AI-generated questions via the Anthropic API that adapt difficulty dynamically based on your history.

Built With

Share this project:

Updates