Completing the Pokédex (in TCG)
TLDR: With the help of Claude Code, I completed a correctly-ordered list of all 1,025 Pokémon (National Dex order).
The goal
I wanted a single binder holding one card for every 1,025 Pokémon (National Dex order).
The idea was simple: any card counts. Price and set didn’t matter.
Caveats:
- The first 151 are all from SV 151. I just liked the set. Still the cheapest card per Pokémon, only restricted to that one set (Special Illustration Rares and ultra rares were too expensive).
- Art override. If I liked an illustration enough, I spent more instead of taking the cheapest copy — this Salamence ex, for example.
Two rules for the layout:
- A new generation always starts on a new page. When a generation ends partway down a page, the rest of that page stays empty rather than being filled by the next one.
- Each starter line opens with an energy card. Grass, Fire and Water, heading the three starter rows. Purely cosmetic. Gen 5 is the only exception (its top-left slot goes to #494 Victini instead).
Problem 1 — there’s no list you can just copy
You’d think a plain list of all 1,025 Pokémon in order would be a solved problem. It isn’t. Bulbapedia comes close, but there’s no way to copy or export it down to just the names in order, and its tables fold in regional variants and alternate forms. I wanted the 1,025 and nothing else.
Claude Code scraped and stripped the extra forms back out and created one CSV (one row for every Pokémon from 1 to 1,025).
Problem 2 — finding the cheapest card
I tried to automate this: pull prices from the TCGplayer API and auto-pick the cheapest printing for each Pokémon. It didn’t work. The cheapest listings are often the ones missing price data in the API, so the real ‘cheapest’ cards never surface in a sorted query.
So I gave up and went manual:
- Search the Pokémon on TCGplayer.
- Sort by price, low to high.
- Take the card with the most active listings.
- Let Cart Optimizer collapse the shipping at the end.
Problem 3 — the layout (the big one)
The binder is 84 pages, 16 pockets each: 1,344 slots. If you put one card in the wrong pocket at #200 and every card after it has to shift down a slot, by hand. I had to do that twice. I wasn’t doing it again, so I turned to Claude Code.
Claude Code took my binder’s dimensions and the spreadsheet and computed the entire layout up front — every Pokémon’s page, row, and column before a single card went in. Knowing that Pikachu is page 2, row 1, column 1 means cards can be loaded in any order, and nothing ever shifts.
The two layout rules were baked into the same pass, so the page breaks and energy leaders came out of the plan instead of being something I had to remember.
The plan: page 69 computed before a single card was placed: Gen 9, #1015–1025, five slots spare.
The result: same eleven cards, same order, five pockets still empty. The post-it carries the page number.
What it cost
About a year, done casually.
In total: $500–600. SV 151 was a choice. If you stick to the cheapest-copy rule without exceptions and it’s cheaper.
Surprisingly, the Ultra Beasts weren’t a choice: they turn up in so few sets that even the cheapest printing has a high floor. Nihilego was the worst of them (about $10 for the cheapest copy).
Why do this at all
I’ve wanted this binder since I was a kid. I have a son now, and that’s the actual reason it finally got built: I wanted one complete, physical thing to hand him instead of a scattered collection sitting in storage boxes.
Appendix
Everything behind this project is in nickgreenquist/Pokemon-TCG-Binder-Tracker. The finished list is pokedex.csv, and the live tracker is the copy I actually work from.