v0.4 — Multilingual Pokémon catalog + variant precision
Identification now uses a structured catalog of 110,000+ Pokémon cards across 12 languages. Japanese, Chinese, and Korean prints get accurate names, set codes, and variants. Sealed products like Elite Trainer Boxes now display catalog photos.
This was a big week. The headline: how cards get identified got rebuilt from the ground up. Three things ship in this release.
Multilingual catalog.
The vault now carries a local catalog of every Pokémon card across 12 languages: English, Japanese, French, German, Italian, Spanish, Portuguese (Brazil), Chinese (Traditional + Simplified), Korean, Indonesian, and Thai. ~110,000 cards. ~1,400 sets. Every modern set is in there; vintage WOTC-era English + Japanese is covered.
Why this matters in your workflow: when you import a Japanese 151 card or a Chinese Scarlet & Violet card, identification now references the actual catalog instead of guessing from artwork. Set, card number, name, variant, and rarity all come from the catalog row directly.
The catalog refreshes nightly, so the moment a new set releases — Perfect Order, Paldean Wonders, whatever Pokémon Japan ships next — those cards land in the vault the morning after.
Variant precision (the Master Ball / Poké Ball fix).
Japanese 151 has two reverse-holo variants per card: the standard Poké Ball pattern (cheap, common) and the rare Master Ball pattern (~3-5× the price). Same artwork, different background.
Identification now reads the printed set code (the tiny sv2a or s12a at the bottom-left of every modern card) and pairs it with the printed card number to land on a specific catalog row. When two variants share that key, the identifier picks the correct one based on the holo pattern in the scan, not on visual hashing.
In practice: cards that previously came in labeled [Master Ball] when they were actually [Reverse] will identify correctly going forward. Existing inventory can be re-identified from the card detail page.
The same fix surfaces on every set with variant pairs — [1st Edition] vs [Unlimited] on vintage, [Reverse Holo] on modern English, the various Trainer Gallery patterns, etc.
Sealed product images.
When the identifier lands on a sealed product (Elite Trainer Box, Booster Box, Tin, Premium Collection, Booster Bundle, Theme Deck, etc.), the card detail page now shows the official catalog product photo instead of an empty placeholder. Listings of sealed product look like listings of sealed product. eBay titles + descriptions render correctly. The catalog has stock photos for ~89,000 cards / products, with the rest filling in as syncs catch up.
Japanese cards get romanized names.
When you import a Japanese card, eBay search keys matter — buyers search "Lickitung 151" not "ベロリンガ". Identification now writes the romanized English name to the card row ("Lickitung") while preserving the original Japanese characters separately for display. Card titles, AI listing descriptions, and eBay payloads all use the romanized name by default.
One more thing — set codes.
Every modern Pokémon card prints a set code in tiny text at the bottom-left (sv2a for Japanese 151, swsh12 for Silver Tempest, s12a for VSTAR Universe). Identification now reads this code directly and uses it as the primary anchor into the catalog. This means: if the OCR can read the printed set code, the identification is essentially guaranteed correct. The set name + card number + variant all derive from that one signal.
The visible effect: needs-review flags on Japanese cards have dropped substantially. Cards that previously needed manual confirmation because of variant ambiguity now go straight to "ready to list."
— Jamie