Internal

Cardfirmed design system

Every token and component the product is built from. Not linked, not indexed. Light is the default theme.

Wordmark and mark

Recreated in code from the client's own branding: heavy wide caps with the green check over the I, and the CF avatar mark. Swap for their vector files when they arrive.

Confirmed saleConfirmed sale

The slab

The signature element. Every deal is shown as a graded slab: a printed label on top, the card in a clear window. The label stays paper-coloured in dark mode.

Confirmed saleLeBron James2003 Topps Chrome · #111Nº 50074597
PSA10
LeBron James
Confirmed saleLeBron James2003 Topps Chrome · #111Nº 50074597
PSA10
Graded cardShohei Ohtani2018 Bowman Chrome · Refractor · 212/499Nº 7731120
SGC10
Confirmed saleCharizard1999 Base Set · #4/102Nº 0012345678
BGS9.5

Colour

Semantic tokens only. Components never use raw hex.

--background
--foreground
--card
--muted
--muted-foreground
--border
--primary
--primary-foreground
--brand
--brand-mint
--label
--slab-edge
--status-review
--status-approved
--status-published
--status-rejected
--destructive

Type

Archivo for headlines, condensed caps for label text, Hanken Grotesk for body, IBM Plex Mono for cert numbers. Semibold is the heaviest weight.

Real deals. Real comps.

LeBron James 2003 Topps Chrome, PSA 10

2003 Topps Chrome · #111 · Refractor

Cardfirmed publishes completed card sales and the people behind them. Submitters provide proof, the team reviews it, and only then does a sale get the check.

PSA 48213377 · SGC 7731120 · BGS 0012345678

Price

Tabular figures, semibold, always below the card and never stamped on the photo.

$42,000$18,500$9,800$250K

Grades, statuses, participants

PSA 10BGS 9.5SGC 10CGC 9RAW
DraftPaidIn reviewNeeds evidenceApprovedRenderedProof sentChanges requestedScheduledPublishedRejected
MHMarcus Hale@halecollectsBuyerDWDana Whitfield@dwhitcardsSellerSCSouthside Card Shop@southsidecardsCard shop?Private buyerBuyerRORafael Ortiz@ortizbreaksDealerLALakeshore Auctions@lakeshoreauctionsAuction house
Participants
Hidden participants stay unnamed everywhere.
  • MH
    Marcus Hale
    @halecollects
    Buyer
  • DW
    Dana Whitfield
    @dwhitcards
    Seller
  • SC
    Southside Card Shop
    @southsidecards
    Card shop
  • ?
    Private buyer
    Buyer
  • RO
    Rafael Ortiz
    @ortizbreaks
    Dealer
  • LA
    Lakeshore Auctions
    @lakeshoreauctions
    Auction house

Deal cards

The feed tile: the slab, then price, headline, sale details and participants.

Form pieces

Submit-a-Deal is built from these.

  1. The card
  2. 2The sale and people
  3. 3Proof and payment
Summary
Cardfirmed announcement$—
Keep seller private$—
Total$—

Prices come from the products table.

Admin pieces

Evidence tiles never appear on a public route.

Nothing to review

New submissions land here the moment they are paid.

Base components

shadcn/ui, radix-nova style, themed by the tokens above.