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.

  1. 0101 · Photo uploadSellers photograph the collectionVercel Blob uploads with Zod-validated intake — no account, no friction.
  2. 0202 · Cert lookupGraded cards verified instantlySynchronous PSA / CGC / SGC cert-number lookups inside a 3.5-second budget.
  3. 0303 · AI vision triageEvery photo classifiedAn async gpt-4o-mini pass surfaces standout cards and flags the collection for ops — never the seller.
  4. 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

Delivered

Scope and visuals from the project.

Mobile

Crown Collectibles on mobile — image 1 of 2
Crown Collectibles on mobile — image 2 of 2

Discuss a similar project

Tell us what you’re building. We respond within 1–2 business days.

Next case

AGS Therapy

Private Practice