Pokemon TCG Tracker
Projects

Pokemon TCG Tracker

A full-stack Pokemon TCG collection manager built with Next.js, TypeScript, and MongoDB. Users can browse the complete English card database, track their collections with per-card quantity management, monitor set completion progress, and explore every card through a regional Pokedex organized by generation.

Next.jsTypeScriptMongoDBTailwind CSSshadcn/ui

01Overview

The app revolves around three core modules. The card browser lets users explore the full Pokemon TCG card catalog organized by expansion sets, with filtering and search. The collection manager enables users to add and remove cards with quantity tracking, view completion progress per set, and filter by owned or missing cards. The Pokedex module organizes all 1025 Pokemon by their regional generation, from Kanto through Paldea, and lets users click into any Pokemon to see every TCG card featuring it across all sets.

02Motivation

There are similar apps out there, but none of them offered the full feature set I was looking for. Some lacked key functionality, others locked useful features behind a premium paywall. My main goal was to solve my own pain points as a collector, so I thought: why not build a platform for myself and add exactly the features I had been searching for? That's how Pokemon TCG Tracker was born. I'm also building my own Pokedex and have collected around 650 out of 1025 Pokemon so far, and still growing! The Pokedex view is a good example of a feature born from that goal — most tools only let you browse by expansion set, but I wanted to approach my collection from the Pokemon side too, making it easy to find every printing of a favorite Pokemon across decades of sets.

03How it works

Card data is imported from a public dataset into MongoDB with idempotent scripts that handle both card documents and expansion metadata. The frontend uses Next.js App Router with server actions for data fetching and collection mutations. Collection updates use React 19's useOptimistic for instant UI feedback, with server-side revalidation keeping data consistent. The Pokedex module matches cards by their national Pokedex number, falling back to name matching when needed, and the card detail page surfaces related printings from other sets.

Preview
Pokemon TCG Tracker preview