DEV Community

Cover image for I built an honest Amazon review scorer. Here's what 478 shoppers told us about why returns are broken.
Chad Musselman
Chad Musselman

Posted on

I built an honest Amazon review scorer. Here's what 478 shoppers told us about why returns are broken.

I got tired of buying things with 4.8 stars that turned out to be junk.

So before writing a single line of code, I ran two independent surveys and asked 478 online shoppers one question: what frustrates you most about shopping online?

Here's what came back:

  • 50% said buying the wrong product and having to return it was their number one frustration. Not shipping times. Not prices. The wrong product.
  • 65% said what they actually wanted was pre-purchase confidence. Knowing they were making the right call before clicking buy.
  • 98.9% had a specific purchase regret story when we asked them to describe one.

The open responses kept coming back to the same thing. Sizing and fit failure even after buying the "correct" size. And one response stuck with me more than any other:

"Even after all the research I had done, I still had no good measure for when a product would actually be worthwhile."

That's the problem I built Pearch to solve.

How it works

Pearch is a Chrome and Firefox extension (Chrome MV3, Firefox MV2) that fires automatically on any amazon.com/dp/* page. No click required, no signup required. It intercepts the page, pulls the ASIN, hits our backend, and returns a 1-10 score.

The score is built from three signals:

  1. Signal A (50%) — Purchase match. How closely does this product match what verified buyers have actually kept? We pull review sentiment, verified purchase flags, and return language patterns.
  2. Signal B (30%) — Return risk. Does the review text suggest high return rates? Keywords like "sent back," "returned immediately," "nothing like the photos" get weighted here.
  3. Signal C (20%) — Review authenticity. Are the reviews real? We look at review velocity, verified purchase ratios, and linguistic patterns that correlate with incentivized reviews.

The UI shows up as a small pill in the top corner of the Amazon page. Click it and you get the full score panel: sizing signal, quality summary, red flags from buried 1-star reviews, and a one-line honest verdict.

The structural argument

Amazon has Rufus, their own AI shopping assistant. It's decent. But it's structurally compromised. It works for Amazon, not the buyer. A genuinely honest score that says "skip this product" hurts their conversion rate.

Google monetizes search ads. Honey tracks discounts, not purchase outcomes. Nobody with a conflicting business model can build neutral pre-purchase confidence tooling. That's the gap.

Tech stack

Chrome Extension: MV3, service worker with keepalive alarm (the 30-second termination issue is real)
Firefox Extension: MV2, live in Add Ons
Backend: Node.js, Express, Railway
Database: MongoDB Atlas with ASIN caching (24hr TTL for anonymous, 2hr for personalized)
LLM: Gemini 2.5 Flash Lite as primary, Claude Sonnet as fallback
Auth: Google OAuth for the personalized score layer

The caching layer matters. At scale you can't hit an LLM on every page view. Cache hit targets under 50ms. Cache miss targets under 5 seconds.

Where we are

Live on Chrome Web Store and Firefox Add Ons. 93 users. Running PMF validation with a 30-user cohort through May.

The feature that gets the most positive reaction is sizing signal. "Runs small" buried in 200 reviews is useful information. Surfacing it in 2 seconds is genuinely better than reading 200 reviews.

The hardest problem is fake review detection at scale. Star ratings are almost useless as a signal now. We use review text patterns instead of ratings, but the model still misses things.

Happy to answer questions about the MV3 service worker approach, the MV2 Firefox port differences, the caching architecture, or the review analysis pipeline.

Top comments (0)