Reproduce locally

Rerun the scoring at HEAD

SupplierSpy is fully open-source. Clone the repo, install dependencies, and you can recompute any supplier's score on your own machine in under two minutes. Same rubric, same signals, same numbers.

Prerequisites

  • Node.js 20+ — the Worker runtime uses the Node 20 baseline.
  • git — to clone the repo and pin to a commit.
  • @cloudflare/puppeteer — pulled in by npm install. Only needed if you want to re-run live scrapers; pure score recomputation works offline.

Steps

Four commands. No build step.

1

Clone

git clone https://github.com/DB-Shadow/supplierspy_com
cd supplierspy_com
2

Install

npm install

Installs the Worker toolchain, Wrangler, and @cloudflare/puppeteer.

3

Run the test suite

npm test

65+ tests covering the rubric engine, scoring formula, route handlers, and schema builders. A green run is the cheapest way to confirm your checkout matches HEAD.

4

Recompute a score

node -e "import('./src/lib/rubric-engine.js').then(m => console.log(m.scoreSupplierWithRubric('yakkyo')))"

Swap yakkyo for any supplier slug. Output is the per-dimension score breakdown plus the final weighted total. Swap in any slug listed on the leaderboard.

5

Where the inputs live

The rubric is in src/config/rubric.js. Per-supplier signal data is in src/data/supplier-signals.js. Weights are in src/config/weights.js. Everything the scoring engine consumes is in the repo — no hidden database, no private config.

The contract

Rerunning this at HEAD should produce bit-identical dimension scores for the same signals + rubric version. If yours differ, that is either (a) a bug, file it at the repo, or (b) you are on a different commit — check git rev-parse HEAD.

External review counts (Trustpilot stars, Shopify App Store counts, Capterra reviews) are scraped into D1 on the 6-hourly cron and therefore change over time. Those are reproducible from the raw-scrape archive in R2 at scrapes/<timestamp>/<slug>-<source>.json. Point the rubric engine at a specific timestamp to reconstruct any historical score against its methodology version.

Spec frozen at /methodology/v1.0. Source tree: https://github.com/DB-Shadow/supplierspy_com. Pin a specific commit with git checkout <sha> before running step 4 to reproduce a score from that point in time.