DexTracker
A Pokémon collection tracker built for completionists — fast, filterable, and designed for the long haul of a full living dex.
Client
Personal Project
Industry
Gaming · Collection
Services
Web App · UI/UX · Data Design
Timeline
4 Weeks
Year
2025
The problem
Tracking a full living dex across multiple games is tedious in spreadsheets and painful in stock trackers. The challenge was a fast interface that handles 1000+ entries without lag, supports granular status, and works on a phone during a trade-up grind.
The solution
A virtualized grid index with multi-axis filtering (region, type, status, shiny). Bulk actions, keyboard-first interactions, and state that persists across sessions — built so a completionist can use it for hours without friction.
What makes it work
Complete Dex Index
Every Pokémon across every generation, one searchable home.
- 1000+ entries
- Form and variant support
Multi-Axis Filters
Filter by region, type, status, and shiny simultaneously.
- Combined filter state
- Quick reset
Fast Bulk Actions
Mark ranges, toggle shinies, update status without clicks per entry.
- Shift-click range select
- Keyboard toggles
Virtualized Grid
Smooth scrolling through hundreds of entries on any device.
- No layout jank
- Lazy image loading
Built with
Next.js & React
Virtualized lists for large datasets without perf hits.
Tailwind CSS
Dense but legible grid and filter UI.
Local Persistence
Tracks state across sessions without an account.
What shipped
- 01
Built a tracker fast enough to stay useful during a 10-hour completion session.
- 02
Delivered multi-axis filtering that handles 1000+ entries with sub-second response.
- 03
Shipped a UX that rewards completionists rather than punishing them with complexity.
Have a similar project in mind?
Let's talk about what you want to build — and how to get there.

