PSA Collection Tracker Read-only

Loading…
Total Collection Value
--
Today
--
Average Card Value
--
Total Cost
--
Profit / Loss
--

Collection Value Over Time

Top 10 Most Valuable Cards

No valued cards yet. Run a scrape to populate values.

Hot Movers

Top Gainers
No gainers in this window.
Top Losers
No losers in this window.

Alerts

Get told when one of your cards crosses a price or moves sharply. Checked after each scrape; fired alerts show here and in the Telegram daily summary.

Fired
Loading…
Your Alerts
Card Grade Estimate Trend My Cost Gain/Loss 24h Change Velocity
No data yet. Click "Refresh Now" to scrape your collection.
Card Grade Removed Reason My Cost Sold For / Last Known Realized Gain
Loading…

Allocation Breakdown

Every active card in your collection that has a current value. Cards without a cost basis are included.

Bucket Items Value
Loading…

P&L Deep Dive

Paper Gains on cards you still own. Value = current CL / PSA / PC estimate.

Overall ROI
--
--
Winners / Losers
--
of -- priced cards
Best Source ROI
--
--

By Source (Where You Find the Deals)

Among cards with a recorded cost basis only — ROI math needs both buy and sell prices. The Allocation Breakdown above includes all cards.

Source Cards Total Cost Total Value Gain / Loss ROI
Loading…

Per-Card Unrealized ROI

Card Source Cost Value Gain / Loss ROI
Loading…

Movers

Best/Worst Performers across the chosen window. Period Change = current value − value at start of window. Total Gain = current value − cost basis (cards without cost are omitted from this column).

Movers

Card Grade Sport Cost Current Value $ Change % Change Total Gain
Loading…

Type:
Grade:
Status:
Card:
Loading…
Loading active listings…
Loading…
Loading activity…
Paste a CardLadder (app.cardladder.com/search?cert=...), PriceCharting (pricecharting.com/offer/...), or SportsCardsPro (sportscardspro.com/offer/...) URL to start tracking sales for a card you're considering buying. For PriceCharting/SportsCardsPro, click a grade tab (e.g. PSA 10 Sold Listings) and copy that URL — the #completed-auctions-… suffix is preserved so only that grade's sales are tracked.
Item Source Grade Est. Value (median recent sales) Trend 7d 30d
Loading watchlist…

Scheduled Scrapes

Automatically run Full scrapes at set times. Windows wakes the PC when needed and runs the scrape independently of the dashboard. After a wake-triggered scrape, the PC can return to sleep if you have been idle long enough. If a slot is missed while the PC is off, the dashboard can run a catch-up after you return.

Full scrape
Full scrape

Times use this PC’s local time. Click Save below to apply changes to the app and Windows wake schedule.

Independent of the Full slots above. When enabled, the in-process scheduler fires an ebay-listings scrape every N hours after the LAST completed eBay run — manual or auto. So a manual click at 14:30 with a 6h interval re-anchors the next auto-fire to 20:30, no double-scrapes. Each run is ~5 minutes (API-only — no browser, no PSA, no PriceCharting) and posts per-card change summaries to the Activity feed.

Does NOT wake the PC. If your PC is asleep, the scrape simply waits — on natural resume, the first scheduler tick that lands sees "X+ hours since last eBay run" and fires immediately if the interval has elapsed. So if you sleep your PC for 8 hours with a 6h interval set, you'll get a refresh shortly after you wake the PC up yourself. Wake-from-sleep is reserved for the Full slots above (which DO need fixed clock times).

Keeps the deep PSA Auction Prices Realized sales history fresh (the data behind the modal "Sales at Grade" dropdown, the APR-backed "if graded" tiles, and the sales comps). When enabled, the in-process scheduler runs backfill-apr-sales.js --top-up on the cadence below — early-stop pagination means most cards cost a single request, so a full pass is ~12–25 minutes.

Does NOT wake the PC and never collides with a scrape: it stands down while any scrape runs, yields to the eBay refresh, and defers if a Full slot is within 45 minutes. Runs only while the dashboard server is open.

AI info blurbs per card (the Card Notes panel in each card's modal). When enabled, the scheduler web-search-refreshes each card on its own tier cadence — cards set to Weekly ~every 7 days, Monthly ~every 30 days, Never never. Pick a card's tier in its modal; active players auto-default to Monthly, everything else to Never, so most cards cost nothing ongoing. Requires ANTHROPIC_API_KEY in .env.

Loading Card Notes status…

Only applies when: (a) the scrape was wake-triggered (PC was asleep when the slot/interval fired), AND (b) you haven't touched your keyboard or mouse within the idle window below. If you're actively using the PC when the scrape finishes, it stays awake. Applies to both Full slots and eBay-listings interval refreshes.

Current status

Loading…

Auto-start setup

Run this one-time setup from a PowerShell window in the project folder to install the Windows tasks and enable wake timers. Scheduled Full scrapes then run even when the dashboard is closed:

node scripts/install-autostart.js

Setup installs separate dashboard-login, scheduled-scrape and backup tasks. After setup, Save above automatically synchronizes the Full scrape times and enabled state with Windows and verifies the result. Re-run setup only if the wake task is missing or needs repair.

Off-site backup

Daily compressed (Brotli) snapshots of data/psa-scraper.db, plus your centering and custom card photos, pushed to the private collection-site-backup repo on GitHub. The last 7 days are kept on GitHub and 14 days on this PC. Runs automatically at 17:30 (local time) via Windows Task Scheduler; manual trigger below for off-cycle backups (useful before turning off the PC).

Loading…

PSA Sales Refresh

PSA auction-price data for the if-graded tiles and your cards' own-grade sales. Runs as one small, capped job right after a Full scrape finishes — never alongside one. Each run is listed below with the cards it covered; per-run log files are in logs/apr-runs/.

Loading…

Telegram Notifications

Choose which messages the bot sends. Messages that need you and the once-a-day summary are on by default; the other status updates are off, and everything they report is still on the dashboard. Replies to your own bot commands always come through.

Loading…

Display v5.0.23+

Visual density of tables, lists, and cards across the app. Stored in your browser's localStorage only — doesn't sync to the mirror or other devices.

Display density

Comfortable matches the original spacing. Compact fits ~50% more rows per screen — useful when scanning 200+ cards. Spacious adds more breathing room for cleaner-looking screens or presentations.

Preferences

Personal defaults for the Forecast view. Set once on the desktop; the read-only mirror picks them up on the next publish, so phone access shows the same values.

v5.2.5 cleanup: Grading ROI / Sell Advisor / Discounted Listings preferences moved to live in-tab — adjust them directly on each tab and they persist automatically. The duplicate controls here were silently out-of-sync depending on which surface was last edited.

Read-only on the mirror — edit your preferences on the home server. Changes appear here after the next publish.

Price Forecast

Default horizon chip selected when you click the Forecast view on a card's value chart.

Watchlist Details