work/scancart/
ScanCart.ai
Seven automated checks on a product listing, returned as one counterfeit-risk verdict
Solo: extension, backend, agents · 2026

Manual work before
To judge a listing, a shopper has to read reviews, check the seller, compare prices and look for alternatives by hand, one tab at a time.
What it automates
- -Reading and judging reviews
- -Seller and price checks
- -Finding safer alternatives
The workflow
- triggerThe shopper clicks Scan on a product page in the Chrome extension.
- step 1The backend runs six agents in parallel: reviews, ratings, seller, price, quality and alternatives.
- step 2A compliance agent then uses the seller and price results.
- step 3A check that fails is left out and shown as "X of 7 checks", never guessed.
- step 4The results are combined into one weighted Trust Score with the reasons behind it.
- outcomeOne verdict on the page, in the time of the slowest check, not the sum of all of them.
status Live demo. Selected for the Rajasthan AI Builders Pitch-a-Thon 2026, Jaipur.
In short
- -Six specialist agents run in parallel (reviews, ratings, seller, price, quality, alternatives); a compliance agent then uses the seller and price results.
- -Latency equals the slowest check, not the sum.
- -Failed checks are left out of the score and shown as "X of 7 checks", never guessed.
- -Pitched at Rajasthan AI Builders Pitch-a-Thon 2026.
Architecture
A Chrome MV3 extension sends the listing to an Express backend, which fans out six Claude agents in parallel, runs a compliance agent on their results and combines all seven into a weighted score.
- user
- client
- guard
- ai
- service
- data
- call
- ← scroll →
- 01Extension extracts the listing from the product page
- 02Express backend fans out 6 specialist agents in parallel, then runs the compliance agent
- 03Each check returns a score plus a source
- 04Failed checks are dropped; the rest are weighted into one Trust Score
- 05Extension shows the score, reasons and "X of 7 checks"
Decisions
+ Parallel fan-out of independent checks- A sequential agent chain The checks don't depend on each other, so parallel calls cut latency to the slowest one.
+ Model id from an environment variable (default Haiku 4.5)- A hard-coded model id A retired model id once broke the backend; config makes swaps a one-line change.
+ All model calls from the backend- Calling the API from the browser Keeps the API key off the client.
Failure handling
One or more checks time out or error
Excluded from the score; the UI shows how many checks ran.
Demo data could look like a real scan
Every result carries a source so demo data is labelled.
- user
- client
- guard
- ai
- service
- data
- call
- ← scroll →
- user
Shopper opens a product page
- client
Chrome MV3 extension
content script extracts the listing
- guard
Express API
Zod validation · rate limiting · Helmet · API key stays server-side
parallel ×6 · parallel fan-out · per-agent timeouts · one failure can't break a scan
aiReviews
aiRatings
aiSeller
aiPrice
aiQuality
aiAlternatives
- ai
Compliance agent
uses the seller and price results
- service
Trust Score fusion
weighted score
failed checks left out and shown as "X of 7 checks", never guessed
output
clientVerdict card in the extension
score + reasons
clientReact dashboard
scan history
A sequential agent chain
Parallel fan-out of independent checks
The checks don't depend on each other, so parallel calls cut latency to the slowest one.
A hard-coded model id
Model id from an environment variable (default Haiku 4.5)
A retired model id once broke the backend; config makes swaps a one-line change.
Calling the API from the browser
All model calls from the backend
Keeps the API key off the client.
One or more checks time out or error
Excluded from the score; the UI shows how many checks ran.
Demo data could look like a real scan
Every result carries a source so demo data is labelled.
Numbers
6 + 1
Agents per scan
TODO
End-to-end latency
TODO
Cost per scan
Next
- ○ Labelled eval set of real vs fake listings
- ○ Cache repeat scans of the same listing