№ 00 — The catalog
150+ shipped tools across identification, pricing, listing, publishing, share storefronts, and dealer-safety rails. We’d rather show you the full surface than make you click three carousels to find it.
№ 01 — Identification
· 10 shippedDrop a photo. Get back set, year, number, language, and parallel — verified across three catalogs. Mistakes are visible, not buried.
Drop a photo of any card and we read the set, year, number, language, and parallel for you.
We cross-check PriceCharting, TCGPlayer, and Collectr catalogs simultaneously so we don't miss obscure printings.
Same-art Japanese, Korean, and Chinese prints auto-correct against English mismatches.
If we picked the wrong product, swap to the right one in one click and we re-pull pricing pinned to that ID.
Paste a PSA / CGC / BGS / SGC / HGA / AGS cert number; we pull the slab record and create the inventory row.
Graded cards SKU as {GRADER}-{cert#} automatically so your inventory matches the label on the slab.
When the API call hits a wall we OCR the slab label off the photo.
Every attempt, model, and confidence score is logged on the card detail — full transparency on the 98% accuracy goal.
Identify retries with backoff, surfaces structured errors, and saves whatever fields it DID match.
Cards flagged needsReview land in a dedicated workflow at /cards/verify instead of polluting your inventory.
№ 02 — Pricing intelligence
· 14 shippedPriceCharting, Collectr, and TCGPlayer aggregated tier-by-tier. When they disagree, we show you. When they agree, we trust the consensus.
PriceCharting and Collectr feed every card, tier by tier (ungraded → PSA 10).
We average PriceCharting + Collectr + TCGPlayer for a single trustworthy number, with the per-source spread % shown.
Green / amber / rose dots so you spot pricing disagreement at a glance.
One-click filter to the cards where sources fight, so you can hand-price them.
Full tier-by-tier price breakdown from every source, side-by-side, on the card detail page.
Recent real eBay sale data wired into the inspector for sanity-checking your ask.
Choose Collectr-only, PC-only, blended, or per-tier basis as the source of truth for your asks.
Build "+14% rounded to nearest dollar" type rules once, attach to one card, a whole batch, or your whole inventory.
Mark up for eBay, mark down for CollX, round however you like — automatic on every channel push.
Asking-price auto-fill refuses to set a number below cost or with a sketchy source-spread.
A "Stale prices · 30d+" saved view with a one-click bulk-refresh action.
Vault tier refreshes nightly; lower tiers get a free manual button.
Raw market data + volatility signal pulled even though TCGPlayer doesn't have a public API.
Silent alert when your asking diverges 20%+ from market — no more accidentally undercutting yourself.
№ 03 — Listing creation
· 14 shippedTitle templates with 40+ placeholders, Pokemon-aware abbreviation, AI-written descriptions on every identify path, live char counters. We do the typing.
Variables for set, year, parallel, grade, cert#, RC flag, language, and more.
New users get a working title + description library out of the box.
80-character eBay limit shown in real time.
Smart shortening when titles run long.
Claude-written 3-paragraph HTML descriptions on every identify-completing path, regeneratable on demand.
Pick N cards, swap to a new title template, preview before commit.
In-app rich editor with persisted notes that flow into the eBay payload.
Listing Health surfaces every missing field that would block a publish, per card and at the dashboard level.
Add a card without the full inspector for fast bulk-entry.
Closes the "missing photos" gap — drop a folder, we attach to the right cards.
Side-by-side rendering on xl screens for inspection.
Cards photographed at an angle ship as clean, rectangular images.
Admin button to force a fresh crop pass on any card.
Universal Open-Graph previews for every share + listing link.
№ 04 — Marketplace publishing
· 11 shippedeBay direct API. Shopify GraphQL Admin API. TCGPlayer mass-upload CSV. Whatnot scaffolded. No CSV import-export shuffle. Real-time, idempotent, multi-region.
Inventory + Trading APIs, not CSV upload. Real-time, idempotent.
Payment, shipping, and return policies pulled from your eBay account and selectable per template.
US, GB, AU, DE, FR, IT, ES, CA — pick the right marketplace per listing.
Pull existing eBay listings INTO CardDealer so you don't start from zero.
When we ingest your old eBay listings we mirror the photos into your vault.
Outbound listing links are rewritten with your EPN tag for extra revenue.
End-to-end product create from the card detail page, with metafield + tag mapping.
One switch routes the product to your Whatnot show via metafield.
Generate the official TCG bulk-upload CSV from any saved view.
Ready for API access when TCG opens it up.
Same: wired for live integration.
№ 05 — Inventory management
· 19 shippedSaved views, bulk editors, custom fields, 5-dimensional location, mobile-responsive tables. Built for back-of-the-booth phone work, not just spreadsheet desk-work.
"Sold · 7d", "No asking price", "Listed > 30d stale", "My slabs", "Verified / Unverified" — plus build-your-own.
Inventory table shows at a glance which cards are identity-locked.
Move N cards into Box / Row / Section in one modal — closes the "Unfiled" pull-sheet gap.
Set, % of asking, or clear cost-basis across selected cards.
Attach a pricing rule to selected cards or a whole batch in one shot.
One button on a saved view of stale cards.
Lock identity across a selection for the 98% accuracy work queue.
Apply a new title template to a selection with preview.
Cabinet / Shelf / Box / Row / Section, with auto-inheritance from batch defaults.
User-defined metadata columns on cards.
Dashboard tile surfaces every publish blocker in one place.
Rolling 7-day and 30-day sold count + revenue.
Pull legacy spreadsheets in with a preview screen.
Drop a CardLuma or CDP export, we recognize it and map columns for you.
Downloadable templates that match our schema.
Legacy cards quietly get shipping_weight and cost_basis filled in over time.
Older cards self-heal without you clicking buttons.
Global search at /search that returns across your whole vault in milliseconds.
Works on a phone in the back of your booth.
№ 06 — Variations + duplicate detection
· 4 shippedGroup your inventory into logical "variation listings" by condition / grade. When you have eBay duplicates, we detect them and build the merge plan — you approve the click.
Group the same card across different conditions / grades / quantities into one logical variation listing in your inventory.
Code path that builds the multi-SKU InventoryItemGroup payload eBay expects (publish is gated on dealer approval — never auto-fires).
Surface listings that should be merged into a single multi-variation, grouped on the /listings/combine-duplicates page.
Builds the exact API plan we'd send to merge them — ready to one-click execute when you're at the keyboard.
№ 08 — Analytics + reporting
· 10 shippedNet profit per card after eBay fees + cost basis. Sales-trend chart. Channel mix. Sold-below-cost alerts. The one report category nobody else in this niche actually ships.
KPIs, marketplaces, recent activity, batches, trends — all on one page with a 60s cache.
Visual rolling sales line on the dashboard.
Real net profit per card, factoring in eBay fees + cost basis (we're alone in this lane vs CDP / CardLuma).
Pie chart of where your revenue actually came from.
Big red flag when a sale closes underwater.
Watches your asking-vs-cost ratio and flags thin margins.
Print-ready fulfillment manifest grouped by location at /orders/pull-sheet.
Resurrect everything that aged out in one click.
Persistent, deduplicated notifications across price drift, sync errors, picklists, expiring shares.
User-controlled per-event email opt-in/out.
№ 09 — Silent automation
· 15 shippedEight background sweeps run on /cards load fixing data while you stock cards: photos backfill, asking prices fill, identities verify, stale prices refresh, descriptions generate. You'd never know we were there.
Shipping, titles, best-offer, SKU, labels, store-category, watermark — priority DESC + first-match-wins.
Every applied rule is logged on the card so you know WHICH rule fired.
Fresher data on /orders load with no button.
Older cards self-heal as you browse.
Card detail = freshest price every time.
Batched refresh in the background as you work.
Both fields fill themselves in over time.
Review queue drains automatically.
Compares asking to market every cycle, fires a notification if drift > 20%.
Every identify-completing path auto-generates a description (4-path coverage).
Real fees and transactions land in P&L.
Background queue drains via Coolify scheduled task every 2 minutes.
eBay orders pull on schedule, not just on page load.
Catalog enrichment runs in the background.
Volatility + price signals refresh on schedule.
№ 10 — Identity verification
· 8 shippedMark identity as human-verified and the AI will never overwrite it. Every identification attempt is logged with model + confidence + timestamp on the card detail.
Mark identity as human-verified; future identify passes won't overwrite.
Lock 50 cards at once.
Treat verification as a first-class filter.
Every attempt with model + confidence + timestamp.
Inventory table shows lock status.
TCGPlayer + Collectr matchers refuse a result whose card number doesn't match.
Auto-derived features + TCGPlayer attribute injection for grading-comp lookups.
Full audit trail for support cases.
№ 11 — Onboarding + settings
· 21 shipped5-step wizard, Google + Apple sign-in, Stripe self-serve billing, per-channel connection hub. We don't make you book a demo.
Get from signup to first listing in minutes.
Persistent progress hint until the wizard is complete.
Self-serve plan change, payment update, invoice download.
Sleeve / Binder / Vault plans, imports-based metering on AI.
/pricing lists what you get at each tier.
One-click signup gated on env config.
Resend-powered transactional flow.
Name, email, password, timezone (auto-detected).
/connections lists eBay, Shopify, TCGPlayer, Whatnot with sub-nav per channel.
Connect / Templates / Policies / Schedule / History / Test.
One button verifies your token actually works.
eBay compliance webhook.
Add typed columns to your card schema.
Per-event toggles.
Direct thermal printing without driver hell. Binder/Vault get a fully managed cloud account — no PrintNode signup needed. Sleeve users can bring their own API key, or add managed printing for $9/month.
Buy postage in-app, balance banner shows your wallet.
Push the bought label straight to your thermal printer via PrintNode.
Box presets so dimensions auto-fill.
eBay Standard Envelope (PWE) configured out of the box.
/help with 16+ seed articles.
/blog for marketing content, /changelog for shipped-feature transparency.
№ 12 — Mobile + cross-device
· 9 shippedMobile-responsive everywhere. Cloud import from your phone's camera roll. Background imports survive tab close. Topbar search works one-handed.
Inventory tables, settings, share storefront, picklist inbox.
Hamburger nav that doesn't crowd small screens.
Settings sub-nav works thumb-friendly.
Send a folder of card photos from your phone to our import job — they auto-identify on arrival.
Name a folder "Japanese - Promo" and we pre-tag every card in it.
Same Drive pattern, additional cloud sources (OAuth gated on env).
Drop photos from the phone camera into the card detail.
Big imports run server-side; close the tab, come back, find them done.
Works from any page, any device.
№ 13 — Dealer-safety rails
· 7 shippedSpread guards. Below-cost flags. Sticky-custom respect. eBay publish requires you at the keyboard — not a background job's mistake.
Won't auto-fill an ask when sources disagree by too much.
Refuses to set an ask below your cost basis.
Surfaces past sales that closed underwater.
Watches the asking-vs-cost ratio.
@idempotent directive on every Shopify write — no double-creates if a request retries.
Code is built and staged but the actual API call to publish/end/relist/merge is never made by a background job.
MinIO photos served with expiring signed URLs, not bare links.
Free trial. Most features unlocked from day one. Cancel without a phone call.