PriceWatch
A browser extension that catches personalized pricing. When you open a product page, PriceWatch quietly loads the same page as three logged-out strangers. If the store is showing you meaningfully more than it shows them, a banner tells you how much, the likely reason, and how to avoid it.

Why it exists
Stores increasingly price by who they think you are: your account, your history, your device, where you clicked in from. You can't see it, because you only ever see your own price. I noticed it on an airline fare that was $600-700 logged in and $400-500 in an incognito window. PriceWatch makes the comparison automatic. It's a product about surveillance, which means its own handling of data has to be beyond reproach.
Key decisions
Useful to the first user, not the ten-thousandth
The original design compared prices across a crowd of users, which meant it couldn't warn anyone until thousands had installed it. I rebuilt it around a check that works alone.
The first version was a "neighborhood watch for prices": each install reported the price it saw, tagged with a coarse, on-device profile like region and device type, and the server compared groups. To stop anyone being singled out, it refused to show any group with fewer than 20 reports. That's the right privacy rule, and it meant the product said "Not enough witnesses yet" to almost everyone. A tool that can't help its first user never gets its second.
The rebuild added the stranger check. On a product page, PriceWatch reloads the page in hidden, clean frames with no cookies, no history, and no login, as a desktop visitor, a phone, and someone arriving from a comparison site. It compares the price each stranger is shown with yours. That works from the very first install, on any store that publishes standard product data, and the crowd comparison stays underneath for when there are enough people to use it.
The trade-off is named in the spec: the strangers share your internet connection, so the check can't detect location-based pricing.
A false alarm is worse than silence
A tool that accuses a store of cheating you has to be right. So it warns only past a real threshold, re-checks before it speaks, and treats anything unreadable as "couldn't compare".
PriceWatch warns only when you're shown more than the cheapest stranger by at least 5% or $5, whichever is larger. A different store location, variant, or currency counts as "couldn't compare", never as a difference. A stranger page that's blocked or unreadable never counts. And before any warning appears, the whole check runs a second time.
Testing on real stores proved the rules mattered. Costco's machine-readable product data said $1,799.99 while the page showed $1,399.99, so PriceWatch compares the price a person actually sees, never the metadata. A $4 membership discount on PlayStation fell under the floor and correctly came back as "matches".
The banner itself had to not look like a scam pop-up. It's clearly labeled as coming from your PriceWatch extension, lives where the store's code can't restyle or hide it, never blocks checkout, and shows its work: a small table of your price against each stranger's, so you can see the evidence rather than take the claim on faith.
Consent you can actually take back
Nothing runs until you make a choice, sensitive stores send nothing at all, and "wipe my data" only says done once the server confirms it.
PriceWatch does nothing on install. No reading, no checking, no sending until the shopper picks one of two levels on a first-run screen that says plainly what each collects and what it never collects. Full sharing tags reports with a random install ID so they can be found and deleted later. Local only sends anonymous reports that can't be traced to anyone. Nothing is pre-checked.
Full sharing is the recommended option, and I made that call knowingly: the crowd comparison only works if people share, and the install ID exists so a wipe can find everything. The counterweight is that leaving is real. "Permanently wipe my data" deletes everything on the device and every server row tied to the install, immediately. The screen only says "Done" after the server confirms; otherwise it says so and keeps retrying in the background, even with the popup closed.
Pharmacies, health, adult, and firearms stores send nothing at either level, and a store PriceWatch can't classify counts as sensitive. The local check still runs there, so shoppers stay protected without anything leaving the browser.

Where it landed
PriceWatch is heading to the Chrome Web Store. It runs clean on stores like Costco, Ulta, and the PlayStation Store, and every real-store result so far has come back "matches" or "couldn't check", which is exactly what a careful detector should say until it finds something. The screenshots here are from a local demo store built to exercise the warning path. Some sites block the hidden checks outright (Amazon and Wayfair among them), and the honest answer there is "couldn't check", not a guess.
- Works on any store that publishes standard product data, with dedicated readers for PlayStation Store and Best Buy
- Warns only past a 5% / $5 threshold, after a second confirming check
- Server never reveals a group smaller than 20, not even its size
- Verified wipe: zero rows left in both server tables, including with the popup closed
- 398 automated tests


