What we've shipped.
Card Bullpen is being built in the open, and this is the honest record of it — shipped work only, in plain language, written for what it means to a collector. No roadmap, no “coming soon,” no invented numbers. If it's here, it's working.
In active development · Launching 2026
Every roster move, newest first.
One source of truth, updated as the bench fills out. Each entry is a real, shipped change — translated from the engine room into what it does for your collection.
-
The Story So Far
I've collected sports cards for thirty-plus years — since I was a kid in the 1980s. Baseball and hockey mostly — the sports I know in my bones — though the collection has crept into football, basketball, and soccer too, plus a shelf of sealed wax I keep telling myself I won't open.
For most of that time, the hardest part wasn't buying or selling. It was deciding. Is this prospect worth chasing before he gets called up? Is this card worth the grading fee, or does it come back a 9 and lose me money? What's my floor when someone makes an offer at a show and I've got thirty seconds to answer? Every one of those questions meant opening five tabs — a price guide, a checklist site, a pop report, sold comps, and a spreadsheet of everything I owned — and trying to hold it all in my head.
The hobby has a hundred places to buy and sell. What it doesn't have is a front office — the part of a team that scouts the talent, values it, and makes the call. So I started building one. For myself, at first.
It began as a personal tool so I would stop losing track of what I owned. In active development it's growing into more: identify a card from a photo, value it against real recent sales, watch prospects before the market notices, run grading math, set a show floor, flag a drop the morning it goes live. One piece at a time — still a build diary, not a finished product.
The thing I'd wanted to exist for years still isn't fully here for every collector — so I'm building it in the open for anyone who's ever juggled those same five tabs. It's called Card Bullpen: the front office for your card collection. Launching 2026.
This log is the honest record of what actually ships. No roadmap promises, no vaporware — just what's built, when it's built. Entries below are real work that landed; the waitlist is for the day the whole front office opens.
If that's the kind of tool you've wished for too, the waitlist is one email: cardbullpen.com. I read every reply.
— Mark
-
Sealed sits on Collection with Graded and Slabs
- Sealed boxes and cases now sit next to Worth grading and Slabs on Collection, on the phone and on the desk.
- Open Sealed and you stay on that tab. It is not buried under another Collection view.
-
Calls, Collection, and Field Scan
- On the phone app, Front Office no longer rebuilds from scratch when you come back to it.
- Search query in the header clears when you close the search box.
- On Front Office when Lead is quiet or failed, the dead Open Lead story stretch is gone. Calls still opens.
- The account-deletion done screen shows the deleting status that shipped, not a check-back-later line.
- A Lead story that times out on first paint retries before you see Did not load.
- On Collection edit, you can pick the catalog card that matches the row.
- On Front Office, the chart sits under Calls.
- A warm tap opens the item, not just the tab.
- Field Scan uses the grade printed on the slab when the photo misses PSA.
- Card Detail More no longer dies when the helper sheet opens.
- The feedback dialog stays on the phone screen.
- Collection Cards shows your holdings above Breakdowns.
- Image matches have to share the player's last name.
- Candidates no longer treats an empty dump as a stocked collection.
-
What shipped on the painted screens
- When a Brief row says there were sales and Card Detail had none, Detail now shows those same sales.
- The Front Office header leads with Calls, not collection dollars.
- Brief is gone from the desktop side rail.
- The desktop Front Office header uses the same honest empty-state words as the phone.
- Sold-event Read confidence can read high or unknown, not only one state.
- The deletion footer names only the teardowns this account actually has.
- A Calls row with an unverified identity asks you to Confirm via Lookup.
- The deletion spinner stops at 8 seconds instead of hanging.
- Calls rows at phone width are two lines, with Last read on one line and the chip inside.
- Sold-event market layout can show a Sealed pill and omits Raw on that layout.
- The deletion done screen paints the shipped status, not a promise the API cannot keep.
- The sold-event dialog shows the player, set, and overshoot dollars already on the list row.
- A notification click while the app is open honours the tab it named.
- Catalyst leads with no bid line no longer show a Raise max.
- Field Scan first paint shows Upload an image and Type to identify.
- Empty Front Office Explore pockets do not paint fake lead doors.
- Front Office rows can be reached from the keyboard.
- Scout preview rows can be reached from the keyboard.
- On the phone, Watchlist chips put Ended before Dismissed.
- The header is 64 or 108 tall, not a third height.
- Sold rows that moved say why they moved.
- Ask chips that were remapped away can paint again.
- Field Scan keep its reveal chrome on the Scan slot.
- Arrivals have a loading state and a failed state.
- On Watch is no longer its own list; the bar slot is Watchlist.
- Watchlist has an Ended chip.
- The On Watch header uses the live watching total.
- Field Scan landing subline is the honest one.
- Phone bar is five: Front Office, Calendar, Scan, On Watch, Collection.
- The desktop rail active item is readable on a light background.
- Calendar uses the Batch 7 week grid and subscribed streams.
- The Ask sheet paints verified Which-one chips.
- Desktop Collection rows show parallel and serial.
- The desktop Close clock stops when the feed is dead.
- Practice Field Scan is NO CALL / Buy, with no checkout.
- The iOS Settings banner does not show on desktop web.
- The Collection bar stays off Brief.
- An update-ready toast tap beats Brief rows.
- The thin reveal shows print run and the pop ladder.
- Brief does not invent ending-today ghost rows.
- On Watch can show a pre-bid thin window of one.
- Calendar catalysts are your book, not the whole slate.
- The Front Office call list names Walk away vs Comp median.
- On the phone, the masthead 30-day delta and caption take a tap.
- Scout home is the capture door, not Hot Board.
- Collection opens on the Batch 7 depth roster.
- Desktop has a labeled side menu, not a phone hamburger.
- Empty Explore pockets are gone; phone KPI is Collection.
- Phone bar is five with Scan in the centre.
- Watchlist at phone width paints cards, not a wide table.
- Mobile Collection rows get a one-line card title.
- Phone Front Office paints the Collection kpis door.
- Look up resolve finishes into the Field Scan reveal.
- A cold deep Collection entry keeps the right bar item active.
-
The same words everywhere
- On Watch, Collection, Brief and Calendar are named the same way on every screen that mentions them.
-
Filter for Graded, and an empty sealed wax shelf that tells the truth
- The Collection filter offers Graded beside Any.
- A sealed wax shelf with nothing in it now says you have no sealed wax yet, instead of telling you nothing matches your filter. A filter that really does match nothing still says so.
-
The sign-in link screen matches the sign-in door
- The screen you land on from a sign-in link is styled like the rest of the sign-in flow instead of a bare page.
-
Collection stops offering what it cannot do
- Bulk Delete reads as disabled until you have selected something.
- Evaluate top no longer offers to evaluate zero cards.
- A card with no cost shows a dash under Cost and vs cost, instead of a number that means nothing.
- Adding a card with no known basis no longer pre-picks how you acquired it.
-
Desktop gets a rail, and your avatar opens Account
- The desktop app carries a left rail for the main sections.
- Your avatar opens the Account menu, in place of the old hamburger.
-
Sign-in links are not used up before you click them
- A sign-in link that something else opened ahead of you still works when you click it.
- When a code is not accepted, the code screen says so in the same place as the rest of the app.
-
Import and identify open in the app sheet
- The CSV import and card identify wizards open in the same sheet style as the rest of the dialogs.
- A Collection that loaded fine no longer paints an error beside it.
-
Front Office widgets are back on desktop
- Lead Story, Movers, Coming Up, Calls, Yesterday, Overnight, Scouting and Graded paint as cards again.
- Bare title-and-arrow rows are gone from the desktop landing.
-
Sign in once, stay signed in
- Your sign-in link works for 24 hours instead of minutes.
- Once you're in, you stay signed in for 30 days.
- The link takes you straight into the app. The extra "Confirm it's you" step is gone.
-
When we can't check sales, we say so
- If the market check fails, the Comp ledger says it couldn't verify recent sales instead of sitting on "Loading sales."
- An honest blank beats a spinner that never ends.
-
Field Scan reads the slab label
- A graded slab in frame is read from the grade printed on its label.
-
Each row shows where its numbers come from
- On desktop, every Collection row carries one line saying what its value is based on.
- The On Watch badge shows the same count as the On Watch page.
-
No raw item numbers on phone Front Office rows
- Rows show the card, not the eBay item id that used to trail the title.
-
One sheet for every dialog
- Edit card, sell, feedback and dismiss now open in the same sheet style on every screen.
-
Sign out means sign out
- Signing out from the menu signs you all the way out and reloads clean.
- If your session has expired, you land on the sign-in door instead of a half-loaded screen.
-
Calls to make drops ended listings
- A listing that has ended leaves your Calls to make on its own.
- OPEN on the Lead story goes to the card's detail, on phone and desktop.
- Invite codes: the field is marked when a code is wrong, and the placeholder shows the shape of a code, not a real one.
-
Empty screens say why they're empty
- Buy, Calendar, Collection, Deals, Releases and Catalysts now tell you whether there is nothing here yet or everything was filtered out.
- Same words, same meaning, on every screen.
-
Easier taps on phone Front Office
- Front Office pointers on phone meet the 44px tap size.
- Follows has its own rail.
- The Front Office strip reads "Calls," matching the Calls section.
-
Arrivals: Confirm records it, Skip works
- Confirm on an arrival records the purchase; Skip sets it aside; the Arrivals count in the header updates as you go.
- The Brief paints on a hard reload at /brief.
- A link straight to your Collection tab stays on Collection instead of bouncing to the Front Office.
-
Ledger and Collection now mean one thing
- The nav still says Ledger. Everywhere else — loading, the value strip, Front Office — says Collection.
- Tapping Collection on Front Office still opens Ledger.
-
Watched cards no longer say Hold it
- Tapping a BUY row on Front Office now keeps that same call on Card Detail.
- Cards you don't own say No edge instead of Hold it. Hold it stays for cards you own.
-
The Brief: what sold overnight on cards you own
- A new Brief tab lists recent sales on cards already matched to your collection, plus auctions ending today that you're watching.
- Each row is a real eBay close, matched on parallel, serial, and grade when we have them — not a blended "today's price."
- Tap a sale to see last raw and graded results, whether you own the card, and what a sticker would mean against those sales.
- If overnight matching is still catching up, the Brief says so instead of looking empty.
-
Disconnect eBay from your account
- When eBay is connected, the account row now offers Disconnect. Confirming it forgets the stored eBay link on this account.
- If disconnect can't finish, the app says so in plain language instead of a machine error code.
-
Loading, empty, and failed no longer look the same
- Candidates, Worth grading, and Slabs now say when a list is still loading, when it's truly empty, and when a fetch failed — instead of a blank that could mean any of those.
- Calendar, Alerts, and the buy pane keep the same honesty: a failed refresh doesn't pretend you have nothing to see.
-
Qty sits with cost on cards you own
- On a card you own, quantity is a labeled Qty cell next to cost — not a second unnamed number.
-
Watchlist still shows the last value we had
- If a live price check can't run, Watchlist VALUE now keeps the last stored read instead of going blank — and it labels that the check was unavailable.
-
Opening Calendar actually opens Calendar
- Going to /calendar (or the Calendar tab) now lands on the calendar, including after a refresh — it no longer stuck on Front Office while the calendar pane sat empty.
-
Alerts keep what they last knew
- A failed alerts refresh no longer wipes the list or resets unread to zero. You keep the last good read, and the app says the check didn't complete.
-
Ledger rows say when a number is asks, not solds
- Desktop Ledger value cells now carry the basis we actually used — sold comps versus current asks — instead of a bare dollar that could be either.
-
One collection total on Ledger
- Ledger no longer shows two different collection totals on the same screen. The headline and the coverage line agree on one number.
-
Watchlist only takes US-located listings
- New watchlist rows are limited to listings located in the US, so the queue matches the market the rest of the app reads.
-
Tapping a tab closes the card overlay
- On a phone, tapping Front Office, Watchlist, or another bottom tab now dismisses the open card overlay, so Back is actually tappable.
- The overlay used to stay up over the tab you just opened.
-
Watchlist opens the watchlist
- The Watchlist tab and the /watchlist address now land on your bid queue — not Follows. Follows stays its own tab.
-
Select several rows at once on Nominations, Needs your eye, and Worth grading
- Those three queues now let you select more than one row and accept, dismiss, or evaluate them together, instead of tapping through one at a time.
- If a row can't go through with the rest, the app says so for that row — it doesn't pretend the whole batch finished.
-
Calendar shows the shows without waiting on the catalog
- Opening Calendar now paints the shows we already have, instead of sitting blank until a catalog fetch finished.
-
Each Call says how old the last read is
- Front Office Calls now show when we last read that price — not only a general note that the numbers aren't live bids.
-
A /card link opens that card
- Opening a card address now lands on that card. A bare /card with no id stays a not-found page, not an empty rail.
-
A filtered view stopped pretending to be your whole collection
- Filtering Ledger to a subset no longer rewrites the collection total as if the rest of the book had crashed.
- Leave Ledger and the header is the full collection again.
-
Front Office tiles open the desk they name
- Tapping a Front Office tile now takes you to that desk — calls, overnight, scouting, graded, your squad — instead of sitting on the same page.
- Coming-up rows split the way they should: a release opens Releases, a card show opens the show calendar.
-
Shows list the dates and links we already have
- Calendar show rows now include the dates, promoter links, and venues we already had on file, and a show stays in Coming up through its last day.
- We stopped linking dead organizer sites on old cards.
-
Sign-in matches the public site
- The sign-in screen uses the same crest as cardbullpen.com, at a width that works on a laptop.
-
Dark mode is readable again
- Front Office in dark appearance no longer puts light text on a light card, or dark text on the lead story.
- A stuck Front Office load no longer dumps you onto Ledger after 35 seconds.
-
Front Office, live on phone and desktop
- The Front Office home now uses the same desks on a phone and on a laptop — movers, calls, graded, your squad — instead of two different homes.
- Dollar amounts on that home stopped printing $0 or $NaN when the number wasn't a number.
-
Confirm Queue no longer lies about the next step
- The last confirm step now says what will actually happen, and it can take you to the Confirm Queue instead of claiming you were already there.
- Deleting an account times out instead of leaving you on a spinner with no way out.
-
A clean CSV import no longer claims rows were lost
- When every row of a spreadsheet import went through, the app no longer said some were lost.
- Columns we don't recognize are flagged instead of silently skipped, and a paste detects the delimiter so the preview matches what you decided.
-
The update toast is dismissible
- When a new version is ready, the toast can be dismissed so it doesn't cover a row you were about to tap.
-
Cards stay put when you hover
- Hovering a card no longer shoves its neighbors out of place. Dragging to move a card still works.
- The Ask sheet now has a real height on a phone, instead of shrinking to fit its contents and covering the composer.
-
No confidence score when we can't tell your card from a look-alike
- Sealed boxes, cases and plain base cards no longer show a comp-confidence score. When nothing about a listing — no serial number, parallel, grade, autograph or relic — can separate it from a near-identical one, a high score was really just measuring how many listings the search returned, not how many were actually your card.
- Open one of those cards and it now tells you why: we couldn't confirm the sold comps are the same product.
- Cards we genuinely can identify are unchanged, including the ones with only a few sales — a low score you can trust still shows, because it means something.
-
"No recent sales" now means we actually looked
- When a price check doesn't complete, the card no longer says there were no recent sales — it says we couldn't confirm, and offers a retry. A failed lookup is not the same as an empty market.
- The comp-confidence meter lays out properly again — the label and its number were running together on some screens.
-
We stopped calling cached prices "live"
- Sold-comp readings are now described as what they are — real sold comps, read within the last 24 hours — instead of "live comps", which implied a fetch that had just happened.
- When a price check fails, the app now tells you which kind of failure it was rather than showing one generic message.
-
Signed out? You can actually get to sign-in now
- If you arrived signed out, the sign-in controls could stay hidden — leaving no way in. They now appear reliably, so an invite link works the first time.
-
A failure shouldn't look like an empty collection
- When your collection or your sold-above-your-read data can't load, the app now says so and offers a retry — instead of showing $0, "0 open," or "clean read overnight" as if we'd checked and found nothing.
- Your alerts hold onto what they last knew — instead of emptying the list and resetting your unread count to zero.
-
Signing out, honestly
- Signing out now confirms only when it actually worked. If the request fails, it tells you plainly instead of saying "signed out" while your session is still alive.
-
A cleaner sign-in, and a settings screen that fits your phone
- Sign-in emails and the confirmation page now look like Card Bullpen instead of a plain system message.
- The settings screen reads properly on a phone — the export card no longer collapses to one word per line.
- The delete-account screen no longer warns about things that don't apply to your account.
-
A prospect Pipeline in Scout
- Scout now has a Pipeline view for the prospects you're tracking — each with your read, a target range, a max bid, and the catalyst to watch — so you can work a prospect list instead of juggling tabs.
-
A Research Desk in Scout
- Scout now has a Research Desk that surfaces reads worth acting on — including sell-signals drawn from the watched auctions that closed above your read, and an undervalued lane. A lane with nothing honest to say stays quiet rather than inventing content.
- A read's confidence now shows as a plain tier, not a filled gauge that implied a precision we don't have.
-
A rebuilt Watchlist
- The Watchlist has been rebuilt around the auctions you're tracking, led by close time.
- The players and terms you follow now live in Scout, keeping the Watchlist focused on live auctions.
-
A graded-value summary, clearer headers, and a refresh nudge
- The Graded view now opens with a summary strip — total estimated value, slab count, and average — drawn from your own estimates.
- Alerts, Releases, Catalysts, Nominations, and the calendar all gained clear headers so you always know which view you're in.
- When a new version ships, the app now lets you know and offers a one-tap refresh — so you're never quietly running an old version.
-
See at a glance when your collection data was last refreshed
- A small freshness marker now tells you when your collection was last updated, so a stale view never reads as current.
-
Your collection value now shows how much of it is priced
- The value at the top of your collection is now paired with a plain-language line — how many of your cards have a price behind the number, and how many are still waiting on one.
- When most of your cards are fully priced you see a single estimate; when they're not, you see an honest floor instead of a number that overstates what we actually know.
- No more guessing which cards the total does and doesn't cover.
-
Your entries, honestly labeled
- Cards you add by hand now carry a quiet "Your entry — not catalog-verified" note, so a card you typed in yourself is never mistaken for one we've confirmed against the catalog.
-
Tap a "Sold Above Your Read" card for the full sale
- Sold-above-your-read cards now open a real sold-event view — the actual sale price and date, and how far it ran past your walk-away — instead of a generic lookup.
-
Meet Ask Bullpen
- Ask Bullpen a plain-language question about a card — from its detail page, right after a scan, or anywhere in the app — and get an answer drawn only from your own collection and our verified card data. It tells you honestly when it doesn't have a reliable read — or when a question (like your whole collection's value) is one it can't answer yet.
- Every answer is an informational estimate, not investment advice — never a guess dressed up as fact.
-
Search from anywhere
- Press "/" — or tap search — anywhere in the app to instantly find any card in your collection, without hunting through tabs.
- One fast search box, everywhere you are.
-
Honest values on every card
- Each card now shows an honest value — 'from $X' when we only have a floor, 'up to $X' for a ceiling, or 'not yet valued' — never a made-up midpoint.
- The rule behind it: show what we actually know, and be upfront about what we don't.
-
See the sales behind a card's value
- Open a card and you can now see the real recent sales behind its estimated value — each one's price, date, and source — so the number isn't a black box.
- When there aren't enough trustworthy sales to show, we say so plainly instead of padding the list with weak ones.
-
Import your collection from a spreadsheet
- Already tracking your cards in a spreadsheet? Paste or upload a CSV and bring the whole collection in at once.
- Imported cards land in a confirm step first — we ask what each column means instead of guessing, and nothing is added until you say so.
-
An honest "couldn't load" for a card's sales history
- When a card's recorded-sales history can't be loaded — a sign-in hiccup, a server error, or a dropped connection — the card no longer says "no recorded sales yet" as if we'd checked and found none. It now tells you plainly that it couldn't load them.
- So an empty sales history means exactly that: we looked and there genuinely aren't any yet — never a quiet failure dressed up as an answer.
-
Export your whole collection
- Download your entire collection as a CSV or JSON file — every card, in one step, available to everyone.
- It's your data. Take it anywhere — no lock-in.
-
News notifications show the real headline
- Fixed a bug where some hobby-news and insider notifications could show a placeholder or an internal note instead of the real article headline — you'll now always see the actual headline.
- If we can't confidently pin down a real headline for an item, we now skip publishing a title for it rather than show something that isn't the real story.
-
More complete card details
- Ran a pass over your existing collection to fill in details that were missing — many cards now show their serial number, parallel, and manufacturer where those fields were blank before.
- We only fill in a detail when we're genuinely confident about it — if something's truly ambiguous, we leave it blank rather than guess, so what you see stays accurate.
-
More recent sales found — and an honest "couldn't check"
- Some cards were showing "no recent sales" when sales actually existed. eBay serves its sold listings in two different page formats and we could only read one — now we read both, and those sales show up.
- And when we genuinely can't check the market right then — a broken page or a failed fetch — the app now tells you exactly that and offers a Retry, instead of showing anything misleading.
-
Cleaner card names
- Cards that match our catalog now show their name in the standard hobby format on Card Detail — year, brand, set, player, card number, serial, and grade, in the order collectors actually use.
- So a card reads the way you'd write it on a want list, instead of however the original listing happened to be worded.
-
Start a sell plan in one tap
- You can now start a sell plan straight from a card — its title and details carry over automatically, so you're not retyping what you just looked at.
- If we have recent sales for the card, your asking price is pre-filled from them; if we don't, the price is left blank for you to set — never a made-up number.
-
A home base for hunting cards
- The Scout area brings your card-hunting tools together: a home view to jump off from, a release calendar, and a Hot Board of what's active right now.
- One place to look up a card, see what's coming out, and spot what's moving.
-
Your graded cards, together
- A new Slabs view gathers your graded (slabbed) cards into one place, so you can see your graded collection at a glance instead of hunting through everything.
-
See the card while you scan
- When you scan a card, the photo you just took now stays on screen while we read it — so you can confirm at a glance that we're looking at the right card.
-
Card pages open instantly
- Opening a card you've looked at before is now instant — the page appears right away and quietly refreshes in the background, so repeat visits never wait on a spinner.
-
Find card shows near you
- A new Show Calendar lists upcoming card shows so you can plan where to buy and sell in person.
- Every show is checked before it appears on the calendar — you're seeing real, confirmed events, not unvetted listings.
-
A roomier layout on the big screen
- On desktop, Card Bullpen now puts the main sections in a left sidebar and their sub-sections in a strip across the top — easier to move around, with more room to work.
-
More dependable notifications
- We fixed an issue that could send the same alert more than once. Notifications now arrive dependably — and without the duplicates.
-
Tidier, clearer auction alerts
- An auction you're watching now sends a single alert instead of stacking two notifications for the same listing.
- Card names no longer get cut off mid-name — the player name stays in view.
- Deal alerts now spell out how far under value a card is — like "64% under estimate" — instead of a bare percentage.
-
Scan a card and we'll ask for whatever we can't read
- Scanning a card is now a quick interview: instead of leaving a field it couldn't read blank, it asks you for it — the player, year, set, parallel or number — one question at a time, pre-filled with its best read so a single tap confirms it.
- You can skip anything you're unsure of, and it never guesses — so you always reach a finished card with the details you have, never a dead end or a made-up value.
-
Recent sales for more cards, matched to the right player
- Insert and autograph cards that used to show "no recent sales" now pull their real recent sold prices — fixing cases where sales clearly existed but weren't being found.
- Card values now confirm the player too, so a sale of a different player from the same set or with a similar name no longer slips into your card's estimate.
-
See which raw cards are worth grading — and take that read anywhere
- The Collection's Grading view reads each raw card's upside from real recent sales of that exact card — never odds or guesses — and surfaces a "Worth grading" shortlist with the payoff spelled out conditionally: what it could be worth graded, over the grading fee.
- Cards that don't clear the bar aren't dressed up as "grade it" — you see their real graded market and exactly what's missing.
- Your reads now save to your account and follow you across devices, until you re-check them.
- The card view shows a card's full read at a glance — what it could be worth graded, the recent-sales context behind it, and when it was last evaluated — with a one-tap re-evaluate to pull fresh comps any time.
-
Track your sell plan — and export it to eBay
- Turned the sell plan into an editable tracker: set each card's status, marketplace, target and realized price, timing and notes right in the app.
- Export your plan as a JSON file, or as a two-part eBay seller CSV — a worklist to plan from, plus a bulk-upload template to start your listings.
- It records what you plan to sell and tracks how it went — it never nudges you to sell.
-
Sealed wax and singles, cleanly separated
- Split sealed wax from singles in your collection: hobby boxes, cases and tins no longer clutter the Cards list, and the Cards count now reflects just your cards.
- Gave Sealed Wax its own browsable, editable list — filter your sealed product by manufacturer, sport and type, and edit or remove any item right there.
- Added a category control in the add/edit screen so you can move an item between Cards and Sealed Wax when it's filed in the wrong place.
-
Sharper card values — and an honest "not enough data"
- Tightened comp matching to the exact card — set, parallel, serial number and grade — so a value reflects the real card instead of a loose title match.
- Added a reliability check that says "not enough data" when recent sales are too thin or scattered to trust, rather than showing a shaky number.
-
A Front Office home for your collection
- Added a Front Office home screen that opens to today's movers — recent sales that beat expectations and auctions closing soon — and the calls that need a decision.
- Pulled what needs your attention onto one first screen, instead of scattered across tabs.
-
Thousands more cards added to the lookup database
- Loaded thousands of real cards into the lookup database, including Topps and Bowman flagship (2023-2025 Series 1, 2 and Update), Bowman Chrome Prospects, Upper Deck hockey (base, Young Guns and Canvas) and UEFA soccer Chrome sets.
- Improved player and card-number matching so spellings with accents, hyphens or spacing differences (like UD Canvas alpha codes) still find the right card.
- Sharpened identity matching so cards are sorted to the correct year, player and product instead of getting confused with look-alikes.
-
Your collection now lives with your account
- Moved your collection onto a per-account database so it travels with you instead of living on one device.
- Migrated existing collections over with verified, non-lossy checks so nothing was dropped in the move.
-
More accurate values from real recent sales
- Switched valuations to use true final sold prices and to separate cards that actually sold from listings that ended unsold.
- Started capturing ended-auction results into a shared price history so estimates get steadier over time.
-
Dark, light, and System themes
- Added a choice of Dark, Light, or System (follow-your-phone) appearance.
- Refreshed the typography with the Anton and Oswald display fonts for a cleaner, more readable lockup.
-
A home for your alerts, plus tap-to-read hobby news
- Added an in-app Alerts tab that collects your deal, bid-queue and news notifications in one place, with an unread count and the ability to mark read or clear them.
- Turned on hobby news and insider alerts, and made each one tap straight through to the full article or the relevant card.
- Hardened notifications so taps always land safely inside the app or on a trusted eBay listing.
-
Smarter deal discovery, now live
- Turned on automated deal discovery that scouts listings each morning and surfaces buys matched to the players and cards you care about.
- Cut duplicate and junk listings (mystery boxes, repacks, Topps NOW / Panini Instant noise) so the deals you see are cleaner.
- Added per-seller and per-name limits plus balanced coverage across categories so one seller or one name can't flood the feed.
-
Connect your eBay account
- Added a secure eBay sign-in so your watchlist restores automatically instead of being hand-loaded.
- Pulled in 152 missing eBay purchases as cost-basis entries so your collection reflects what you actually bought.
- Added a connection-status badge that tells you, plainly, when your eBay link is healthy or needs reconnecting.
-
See what a card is asking for right now
- Added a Current eBay listings panel that shows the going asking range beside your recent-sold comp.
- Filtered out troll prices and outliers so the range reflects realistic asks, not noise.
-
A clearer, more dependable Bid Queue
- Reworked each bid-queue card so the walk-away price leads, the ceiling is clearly labeled, and the listing link and thumbnail just work.
- Split out ended auctions and made bids and countdowns honest, never showing a synthetic bid as if it were live.
- Moved the queue onto durable storage so large watchlists sync reliably without dropping items.
-
Add a card by taking a photo
- Added photo scan: snap a card and it identifies the player, year, set and parallel, then drops it into your collection.
- Built in confidence checks so a guessed field is left blank rather than filled in wrong, and flags possible duplicates before you add.
- Added a delete-a-card flow so you can cleanly remove an entry and everything tied to it.
-
Scan a graded slab's cert label
- Added cert-label scanning that reads a graded slab, detects the grader and cert number, and matches it against your collection.
- Anchored results to cards you actually own so it confirms what you have instead of inventing a match.
-
Tools for working a card show
- Added show-floor pricing with a clear walk-away FLOOR as the hero price and an ASK beside it for negotiating at the table.
- Added a Candidates view to pick what to bring, with filtering, scoring and CSV export, plus a day-of tracker for what's in, sold or back home.
- Added a Scan / Look up entry point right inside the Show tab for pricing a card mid-conversation.
-
Automatic watchlist suggestions
- Added nominations that suggest players and cards worth watching based on hobby chatter, which you can accept or dismiss in one tap.
- Added an in-app badge so you know when new suggestions are waiting.
-
Real recent-sold comps you can trust
- Rebuilt card valuation to pull real recent eBay sold comps, with the dates, prices and titles read straight from each listing rather than guessed.
- Added fail-loud guards so when a comp can't be fetched it says so honestly instead of making up a number.
-
Introducing the Bid Queue
- Launched the Bid Queue: import your eBay watchlist and see walk-away and ceiling prices on the auctions you're tracking.
- Added ending-soon and deal alerts so you get a heads-up before a watched auction closes.
- Improved card-lookup accuracy with a much larger name dictionary, lifting clean parses from the mid-40s into the 70s percent.
-
Card lookup and hobby news arrive
- Shipped the core card lookup: paste or type a card and get a structured read of player, year, brand, set, parallel and grade.
- Added a hobby news and insider feed that aggregates from Reddit and RSS sources.
- Added a Watchlist of terms to follow, with push notifications wired up for high-signal hits.
-
The app goes online
- Stood up the installable phone app (PWA) with secure sign-in so your data is tied to your account.
- Moved your Sell Plan off a single device and into account-backed sync, with a last-synced indicator.
- Laid the push-notification groundwork so the app can reach you with timely alerts.
Launch call · free waitlist
Get the call when we launch.
Card Bullpen launches in 2026. Watch the log fill out here; when you'd rather hear the moment doors open, leave your email and we'll tell you the day it's ready. No spam, no noise.
- A launch-day email the moment doors open in 2026.
- Pricing news before anyone is asked to pay.
- One list, launch news only — unsubscribe anytime.