Retail / marketplace · Vision + pricing
Collectible ID: Near-duplicate image identification and pricing at catalog scale
A dealer points a phone at a collectible. The app must find the exact printing among thousands of near-identical variants, then attach a real market price, while a customer waits.
How it works
Thousands of near-twins
Each dot is one printing with the same name. Many of them look almost the same.
Each constraint removes candidates: set, then number, then finish, then language.
When one candidate stays, the app attaches a market price. When two stay, the app asks the dealer.
Figure: a cloud of dots, one per printing. Each constraint (name, set, number, finish, language) removes dots until one exact match stays and a price is attached.
This video did not load.
Video · 36 seconds
The identity funnel
- Thousands of near-twins.
- Constraints remove candidates.
- One match gets one price.
Transcript
- One name can match thousands of printings.
- Each constraint removes candidates.
- One exact match remains.
- The system shows its confidence.
- Three price sources merge into one median.
- A wrong match is worse than no match.
What I built
The parts
- Scan, identify, price, then buy, sell, trade or add to inventory, in one loop.
- The identity and catalog layer: near-duplicate printings resolved by set, number, finish and language, across a 151,260-item catalog.
- A universal CSV import that maps any seller's spreadsheet to exact catalog items.
Show 5 more
- Sealed products in the same catalog and pricing flow.
- One review-queue query went from 90 ms to 3 ms.
- Multi-source price aggregation and caching.
- Point-of-sale and cross-listing for show floors.
- Monorepo: backend, web app and mobile scanner.
Results
By the numbers
- 151,260
- Catalog items
- 90 ms to 3 ms
- Review-queue query
- API · Web · Mobile
- Surfaces
Lesson
Identity is the hard part. A wrong match is worse than no match, so the system shows its confidence.