Mobile
Case study · Pokémon TCG / Retail
Crown Collectibles
- Client
- Crown Collectibles
- Sector
- Pokémon TCG / Retail
- Status
- shipped & running
The problem
Crown Collectibles needed an intake site that did the work of an experienced buyer: prove credibility instantly to verified collectors, capture mixed Pokémon collections without friction, and feed every submission into an ops workflow without losing the human voice the desk is known for.
What we built
We built a Next.js 14 marketing and intake site anchored by a written brand voice charter. A multi-step quote flow uploads photos to Vercel Blob, persists to Neon Postgres, runs synchronous PSA / CGC / SGC cert lookups inside a 3.5s budget, and triggers an async gpt-4o-mini vision pass that classifies photos and emails a triage report to ops—never the seller. Resend handles transactional email, Slack pings the desk, and a signed status page lets sellers check progress without an account.
The centerpiece
An intake pipeline that works like an experienced buyer.
- 0101 · Photo uploadSellers photograph the collectionVercel Blob uploads with Zod-validated intake — no account, no friction.
- 0202 · Cert lookupGraded cards verified instantlySynchronous PSA / CGC / SGC cert-number lookups inside a 3.5-second budget.
- 0303 · AI vision triageEvery photo classifiedAn async gpt-4o-mini pass surfaces standout cards and flags the collection for ops — never the seller.
- 0404 · Ops reportThe desk gets a briefingResend email, Slack ping, and a signed status page so sellers can check progress without an account.
The outcome
- Next.js 14 build
- Brand voice charter
- Local SEO landing pages
- Multi-marketplace proof
Work
Delivered
Scope and visuals from the project.
Next step
Discuss a similar project
Tell us what you’re building. We respond within 1–2 business days.
Next case
AGS Therapy
Private Practice






