Card VaultAI← Home
Changelog · Public release log

What we’ve shipped.

The vault is built and operated by a working card dealer. This page is the public log of every release that affected a real listing or a real workflow. We ship in small bites and we ship often.

May 12, 2026·v0.2NewImprovedFix

v0.2 — In-app bug report, sharper photos, live-feel hero

Floating bug-report widget on every page, four iterations of enhanced-crop sharpening for eBay carousels, and a new homepage hero that shows the product instead of just describing it.

Second-decimal version bump. Three threads of work landed today.

In-app bug report — the big one.

There's now a small "🐛 REPORT" pill in the bottom-right of every authenticated page. Click it and you get a modal that captures:

  • A title and a description
  • Severity (Critical / High / Medium / Low) and category (Bug / UX issue / Data / Feature request / Other)
  • A screenshot — either auto-captured from the current page or uploaded
  • Diagnostics attached automatically: URL, viewport, screen, browser, OS, locale, timezone, plus the last 10 console errors and 10 failed network requests from your tab

Submissions go straight to the founder's inbox as a formatted email with the screenshot inlined and the diagnostics in a code block. Reply-To is set to the reporter, so a one-click reply lands in your inbox. Every report is also archived in the vault's database under a stable ID, so nothing gets lost if an email bounces.

Why this exists: the dealer running the storefront this software was built for is the same person reading every bug report. Cutting the loop from "spot a problem → screenshot → find Jamie's email → describe it" to "click the pill, type, send" is the difference between issues getting fixed and issues getting forgotten.

Enhanced-crop sharpening — four iterations.

The "enhanced crops" pipeline that produces the corner / edge / defect-detail thumbnails for eBay listing carousels got four passes of tuning today:

  • v2 (early morning) — Tightened the corner and edge crop boxes and added a cache-bust to thumbnails so fresh crops actually show up.
  • v3 — Macro-zoom corners that push past the bezel + a polygon inset for sleeved cards (the previous version was clipping into the sleeve).
  • v4 — Upscaled all final crops to meet eBay's minimum dimension requirements using Lanczos resampling instead of letting eBay's CDN upscale (which adds artifacts).
  • v5 (latest) — Wider framing on the corner crops. The earlier passes were too tight — the resulting photos read as abstract grain instead of recognizable corners. v5 keeps enough surrounding background that you can see what you're looking at.

If your listings have been getting re-published today, this is why.

Homepage hero — live-feel preview.

The marketing site's hero now shows a 3×3 grid of mini card slabs with status badges (listed / identified / imported), a "12,847 cards · 487 listed today" stats header, and a "Just identified" activity toast that breaks the grid edge. Real Pokemon set names — Crown Zenith, Stellar Crown, Prismatic Evolutions, Pokémon 151 — across PSA, CGC, BGS, SGC, and raw tiers.

Replaces the previous static slab illustration. The point: prospective customers should be able to read the dashboard at a glance and know what the product feels like, not just what it claims to do.

— Jamie

May 12, 2026·v0.3NewImproved

v0.3 — AI pre-grade with CardGrade.io + credit system in the top nav

Predict PSA/BGS/CGC grades on raw cards from your existing photos, ~$0.25 a card. Plus a credit balance now lives in the top nav, and the billing system runs on phases that track our rollout.

Two threads shipped today. They're independent but they ride together because one of them controls how you pay for the other.

AI pre-grade — the big one.

There's a new "Pre-grade" button in the action bar on every raw card's inspector. Click it and the card's front + back photos go to CardGrade.io's grading pipeline. ~1–4 minutes later a hero panel lands above the card's title with:

  • An overall predicted grade (e.g. "PSA 9 — Mint") with a confidence percent
  • Four sub-scores: centering, corners, edges, surface
  • Three cross-grader predictions — what the same card would likely grade as on PSA, BGS, and CGC respectively
  • A "limiting factor" line that calls out the specific defect holding the grade back ("minor whitening on top-right corner")
  • A market-value range for the predicted grade, so you can do the "is this worth submitting?" math before you ship $25 of grading fees

Costs 25 credits per card, refunded automatically if the remote pipeline fails or times out. Only works on raw cards — slabbed cards already have an authoritative grade and the button is hidden. The button auto-hides while a grade is in progress; the hero panel shows a shimmering "Analyzing…" state with the current pipeline phase ("queued" → "processing") and auto-refreshes every 15 seconds.

The whole integration runs server-to-server with CardGrade's v1 API. Your card photos never go anywhere except CardGrade — same MinIO bucket pipeline that already serves your eBay listings.

Why this is here: pre-grading is the missing piece between "I have a raw card" and "I should submit this to PSA." Submission fees are $25+. You don't want to submit a card that won't clear $50, and you definitely don't want to skip submitting a card that grades a PSA 10. The grade prediction tells you which side of that line you're on — and now it lives inline on the inspector rather than as a separate workflow.

Credits in the top nav.

There's now a small "⚡ N" chip in the top navigation that shows your current AI credit balance. The chip is phase-aware:

  • During the alpha (you, right now) it shows "25 ⚡ Alpha" — your daily 25-credit floor. If you drop below 25 from spending, the balance refills to 25 once every 24 hours.
  • When we open the beta, it'll show "50 ⚡ Beta" — same mechanic, but with a higher 50-credit daily floor.
  • At launch, it'll show just the count with a coral chip when it dips below 10. No more free top-ups.

Click the chip and you land on /settings/billing to top up.

The chip also drives a real billing posture: the alpha phase refills any account below 25 credits every 24 hours, the beta phase will lift that floor to 50 credits, and post-launch all free credits stop. That's enforced atomically inside the database — top-ups can't double-fire under concurrent requests, daily floors don't down-adjust paid users (your 500-credit pack isn't reset to 25), and existing alpha balances automatically promote to the beta floor on first beta-era page load with no manual migration.

What you'll notice in practice: today, nothing changes except the chip showing up. When we flip to beta — one config flag, no redeploy — your chip count will jump to 50 on next page load and start refilling daily.

— Jamie

May 11, 2026·vblog-1.0NewNote

Public blog + this changelog

We now publish editorial pieces at /blog and a public log of every release at /changelog.

Two new public surfaces on the vault:

  • /blog — Editorial pieces from a working dealer. Inventory mental models, set guides, grading economics, marketplace playbooks. Published Tuesdays and Thursdays for the next 90 days.
  • /changelog — This page. Every release that affects a real listing or a real workflow gets logged here. Dated, signed, scannable.

Why both surfaces? Different intent. The blog is long-form opinion from the founder. The changelog is product. Some users want to read essays; some want to know if we shipped the multi-region eBay flow yet. Both are valid; the surfaces are now separate.

The first 24 blog posts are queued. Read the manifesto for the why, or the Saturday-listing notebook for what one Saturday actually looks like.

— Jamie

May 4, 2026·vB-8.4NewImproved

Real batches list page + listing UX polish

Batches now have a proper list page. Listing UX got a character counter, consolidated icons, graded condition mapping, and tier labels.

Two-part release.

Batches list page — Replaced the previous placeholder with a real batches view: count, cost basis, acquisition source, current state distribution per batch. The batch detail view also picked up a needs-review banner when AI confidence is below threshold on any card in the batch.

Listing UX polish — A handful of long-overdue ergonomics fixes:

  • Title character counter — Live count against eBay's 80-character limit while you edit. Counter goes coral when you're under-budget, vault-muted when you cross. No more "why is eBay truncating my title."
  • Icon-prefix consolidation — Reduced four near-duplicate icon variants to one. Visual noise down ~30%.
  • Graded condition mapping — A graded card's condition no longer asks "Near Mint / Mint / etc." — it shows the actual grade and the grader. PSA 9 displays as PSA 9, not as a translated NM. The eBay listing carries the same.
  • Tier labels everywhere — Pricing tiers (Sleeve / Binder / Vault) and topup bundles (Pocket / Page / Box) now have consistent visual treatment across pricing, settings, and the upgrade modal.

— Jamie

Apr 30, 2026·vB-8.3ImprovedFix

Auto-detect user timezone for greeting + 'today' boundaries

The 'today' filter and the welcome greeting now follow your local timezone, not the server's.

If your dashboard greeted you "Good evening, Jamie" at 11pm and you'd been listing all day — but then the "Today" sold-count filter rolled over to zero because the server thought it was a new UTC day — that's the bug we fixed.

The vault now detects your timezone client-side on first login (and on every session refresh) and uses it for:

  • The greeting (Good morning / afternoon / evening)
  • The "Today" / "Yesterday" / "This week" boundaries on dashboard counts
  • The shipping-by-date filter on the orders view
  • The schedule-listing-time picker

Old behavior: everything was UTC-anchored. New behavior: everything is your-time-zone-anchored. If you've configured an explicit time zone in account settings, that wins; otherwise we use what your browser tells us.

If your numbers look slightly different today than they did yesterday at the same time, this is why.

— Jamie

Apr 1, 2026·vB-8.1New

Cert-import flow for all five major graders

Paste a list of certificate numbers from PSA, BGS, CGC, SGC, or TAG and the vault pulls the full grading record + queues each card as a draft listing.

If you came back from a card show with a stack of slabs, this is for you.

The cert-import flow now supports all five major graders in a single workflow:

  • PSA
  • BGS (Beckett)
  • CGC
  • SGC
  • TAG

How it works: paste a list of cert numbers (one per line, mixed graders OK) into the import dialog. The vault routes each cert to the right grader's API, pulls the full record (card spec, grade, sub-grades where available, pop number at time of grading, the slab images where the grader exposes them), and queues each card as a draft listing.

Average time per cert: under 2 seconds. A batch of 20 slabs takes under a minute.

The SKU convention used: {GRADER}-{cert_number} — e.g. PSA-87654321, CGC-6029808114, BGS-0123456. This matches how most dealers physically label their slabs, makes the slab traceable from your inventory back to the grader's database, and bypasses the auto-counter SKU setting because the cert number is more meaningful.

What this replaces: the previous flow required entering the cert manually for each card. A 20-slab show take used to be 15-20 minutes of typing. It's now under 60 seconds of paste-and-review.

— Jamie

Mar 20, 2026·vWave 5 RNew

Public knowledge base launched at /help

Every walkthrough, every reference doc, every troubleshooting guide is now public. No login required.

The vault's knowledge base moved from "for paying customers only" to fully public at /help.

Five categories, ~20 articles at launch (more weekly):

  • Getting Started — Sign up, first import, connecting eBay
  • Identifying — How the AI pipeline works, manual overrides, price lookup
  • Inventory — Batches, the 5-dim location system, workflow states
  • eBay — Business policies, listing templates, publishing
  • API — Programmatic access, authentication, webhooks

Why public: prospective customers were emailing the support inbox asking "does the vault do X?" for things that were already documented. The friction of having an account before reading the docs was costing us conversions. Now you can read every article before you sign up.

Indirect benefit: the public KB is also picked up by Google. We expect organic search traffic from "how do I connect eBay to inventory software" and similar queries.

— Jamie