The extension and the web app both changed this week, and they changed together. The short version: the extension stops trying to be the whole tool, and the app becomes the desk where you actually work.
WHAT THE EXTENSION DOES NOW
It finds watches while you browse — Buyee, Facebook, Reddit, WatchUSeek, WatchRecon — prices what it can, and hands the whole lot over. Select the ones you want, or send all of them, and they land in Scans in your account.
Listings it couldn't price still get sent. That's deliberate. A listing with no price and a failed sold check is the one you most need in front of you, because that's where you can fix it by hand.
WHAT WAS BROKEN AND IS NOW FIXED
Sold checks were failing constantly. The extension kept a handle on a background tab, the tab went away, and every lookup after that died against a dead reference. It read as "sold check failed" — so it looked like a comps problem for days. Lost tabs now recover and retry.
"Sold check failed" was one bucket for six different problems. Dead tab, timeout, render timeout, a challenge page, zero cards parsed, rate limited — all the same three words. Each one now says which.
Seller headlines were being used as eBay searches. "FOR SALE ONLY Rolex Submariner 116610LN" went to eBay as a literal query, which returns nothing. Now the brand, model and reference come first, sale-state language is stripped, and a headline that reduces to nothing identifying doesn't burn a lookup at all — it says it can't identify the watch.
Bracelets and spare links were counting as sold comps. A "... Bracelet Link 20mm" listing carrying the reference was entering the comp set. On one Speedmaster that put a $91 low against comps otherwise in the thousands.
Comps from the wrong model line. A Marin Instruments Skin-Diver was priced off two Marin Standard comps and returned a Buy at $747 on a $650 ask. Queries without a model code now require every query word to match.
An unreadable asking price produced a confident Skip. If the price couldn't be parsed, ROI computed as 0% and the watch got skipped — a Speedmaster with real comps and a $3,447 max buy, thrown out because we couldn't read what the seller wanted. It now says the asking price is unknown and asks you.
ASK LOUPE ACTUALLY WORKS
It searches auction houses, dealer archives and market pages for sales eBay can't show you. On a Tudor Black Bay 58 it returns four dated auction results — Grailzee, Bruun Rasmussen — with the source and date on every row.
Every price it reports has to come from a page the search actually returned. Anything it can't attribute is discarded before you see it. Results are labelled unverified research and never set your max buy. That stays on sold comps.
If nothing sourced turns up, it now returns market context — a cited range from Chrono24 or WatchCharts — clearly marked as context, not sales, and marked undated when the source has no date.
THE SCANS PAGE
Everything you send lands in one table: Reference, Count, Low, Median, High, thumbnail, source, ask, landed, max buy, ROI, verdict, scanned date. Sort any column, filter by verdict or source, expand a row for the individual comps and per-market asks.
Rows with comps sort to the top, most comps first — the ones you can actually price lead the list.
Blank cells mean unknown, not zero. A row with no comps shows a dash, not 0%. Fewer than three comps gets a THIN marker so a max buy built on one sale doesn't read like one built on twelve.
Pick the ones worth working and Add to Leads. Scans is capture and triage; Leads stays your pipeline.
