back

work · scancart

ScanCart.ai

Parallel multi-agent trust scoring for Indian e-commerce

Solo: extension, backend, agents · 2026

JavaScriptNode.jsExpressClaude APIChrome MV3ReactClerkFirebaseApache JMeter
ScanCart.ai: Parallel multi-agent trust scoring for Indian e-commerce

Problem

Shoppers on Indian marketplaces can't easily tell a fake product or a paid review from a real one. ScanCart runs checks on a listing and gives one Trust Score with the reasons behind it.

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: parallel fan-out cut scan time 2.8× (13.7 s of sequential model time → 4.8 s).
  • -Failed checks are left out of the score and shown as "X of 7 checks", never guessed. With one agent hung, 100% of scans still scored.
  • -JMeter at 50 concurrent users: 200/200 scans OK with no latency increase over a single user.
  • -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.

System designThe extension never calls a model. The backend fans out, fuses the results and returns one verdict.
BROWSEREXPRESS BACKEND · NODE.JSEXTERNALDASHBOARDopens a listinglisting ·verdictfan-out×6seller + priceall 7 resultsscore +reasonsparallelcallsreadsShopperon an Amazon / FlipkartlistingChrome extensionMV3 content script ·verdict cardExpress APIZod · rate limit · Helmet ·key stays here6 specialist agentsreviews · ratings · seller· price · quality ·alternativesCompliance agentuses the seller + priceresultsTrust Score fusionweighted · failed checksleft outClaude APImodel id from env (Haiku4.5 default)React dashboardscan history · Clerksign-inFirebasescan history
  • user
  • client
  • guard
  • ai
  • service
  • data
  • call
  • ← scroll →
  1. 01Extension extracts the listing from the product page
  2. 02Express backend fans out 6 specialist agents in parallel, then runs the compliance agent
  3. 03Each check returns a score plus a source
  4. 04Failed checks are dropped; the rest are weighted into one Trust Score
  5. 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.

Numbers

6 + 1

Agents per scan

2.8×

Faster than running checks in sequence

13.7 s → 4.8 s

200/200

Scans OK at 50 concurrent users

100%

Scans still scored with one agent hung

Load tests

JMeter 5.6.3 against the Express backend with all seven agents; Claude replaced by a mock server answering in 1–3 s per call.

Baseline

1 user × 20 scans

Avg 4.8 s vs 13.7 s total model time per scan: 2.8× faster

Concurrency

50 users × 4 scans

200/200 OK, avg 4.76 s (same as 1 user), p95 5.8 s

Hung agent

Review agent never answers, 20 scans

20/20 still scored in ~12 s (10 s timeout, then fallback)

Validation

50 bad payloads

50/50 rejected with 400

Rate limit

120 calls from one client

100 allowed, then 429

Next

  • ○ Labelled eval set of real vs fake listings
  • ○ Cache repeat scans of the same listing