Appearance
PRD feature map
Date: 2026-05-13. Status: canonical feature map. Source migration: condensed from poc-tcg-collector/doc/tcg_spec_notion_complete.md and poc-tcg-collector/doc/tcg_complete_final_v3.md.
Product goal
Build a Pokémon-first collection and pricing app where a user can identify an item, add it to a private collection, track value over time, and understand the estimate behind that value.
The MVP should feel like a full app, not a scanner demo. It should support the core collection loop end to end, even if some data sources are lab-grade at first.
MVP feature groups
1. Item identification
The user can identify:
- raw cards;
- slabs / graded cards later in the same scanner shell;
- sealed products once the sealed catalog exists.
The result should lead to confirmation, not blind insertion:
- item identity;
- language;
- condition;
- quantity;
- variant/version;
- add to collection or quick price check.
2. Manual entry
Manual entry is not a fallback afterthought. It is required for:
- failed scans;
- items not physically present;
- bulk entry;
- inventory cleanup.
The app needs fast search, filters, quantity handling, condition, language, and purchase data.
3. Unified catalog
The catalog must include distinct object classes:
- raw card;
- slab / graded card;
- sealed product.
The catalog should normalize TCG, set, language, collector number, product type, image source, source provenance, and identifiers.
4. Collection inventory
The collection stores user-owned holdings:
- item reference;
- item type;
- quantity;
- condition;
- language;
- acquisition price;
- acquisition date;
- storage label;
- notes;
- evidence/photo references;
- valuation snapshots.
Private-by-default is a product requirement, not only a backend detail.
5. Portfolio dashboard
The dashboard answers:
- total collection value;
- split by sealed, raw cards, and graded;
- gain/loss since purchase;
- top movers;
- value by set or product type;
- data freshness and confidence.
The portfolio is the hero screen for the sealed-investor persona.
6. Pricing and valuation
The product should separate:
- raw card estimate;
- graded estimate;
- sealed estimate.
The UI should explain source breakdown, confidence, and freshness. Alerts are premium candidates once the pricing engine is credible.
7. History and recovery
The collection needs:
- action history;
- edits audit;
- trash/restore;
- import/export path;
- future cloud backup and multi-device sync.
This protects trust. Users will not store valuable inventory in an app that makes history feel fragile.
Later feature groups
| Feature | Timing | Rationale |
|---|---|---|
| Price alerts | After pricing confidence is good | Strong premium driver |
| Wishlist | After catalog and pricing are stable | Useful, but not the core loop |
| Collection completion | After raw-card catalog UX is solid | More collector than sealed-investor oriented |
| Release calendar | After source pipeline is reliable | Useful for sealed buyers |
| Marketplace | Much later | Requires payments, disputes, reputation, fraud prevention |
| Cloud sync | After local/private model is sound | Premium and retention driver |
| Slab mode | After raw scan and collection model are stable | Requires OCR label and graded pricing |
| Sealed scan | After sealed catalog/index exists | Separate object recognition problem |
Acceptance principles
Every feature should answer at least one of:
- Does this help the user add inventory faster?
- Does this make valuation more credible?
- Does this make sealed products first-class?
- Does this preserve trust and privacy?
- Does this improve the daily portfolio habit?
If a feature only adds breadth and does not strengthen these loops, it should wait.
Current implementation slice mapping
| Slice | Repo | Purpose |
|---|---|---|
| Lab scanner bottom-sheet UX | poc-tcg-collector | Make testing the current five endpoints faster and clearer |
| Scan-case feedback | backend + app | Turn real Android scans into accuracy evidence |
| Sealed lab catalog | backend | Keep sealed recognition separate from raw-card recognition |
| Pricing observations and estimates | backend | Build explainable valuation before adding many providers |
| Private collection holdings | backend + app | Secure user inventory before marketplace |