← Home

Catalog Match Lab

Are these actually the same product?

Compare messy product names using explicit checks for brand, variant, size and pack count.

The problem

Two names can share nearly every word and still describe different products. A cheap 200 ml carton must not be compared with a 1 L carton as if they were interchangeable.

The approach

  • Put a simple keyword baseline beside identity checks so a visitor can see why similar words are not enough.
  • Normalize a bounded vocabulary, inspect conflicting or missing attributes, and admit uncertainty when identity cannot be established.
  • Include only accepted identities in the comparable-price range. Let visitors edit names, import a CSV and export the decisions.

What you can inspect

The pair inspector exposes the normalized attributes and the reason for each decision. A 24-pair fixture evaluation checks deliberately chosen boundaries.

Scope & limitations

Brands, stores and prices are fictional. The offline rules cover the fixture vocabulary; this is neither a trained semantic model nor a representative market benchmark. Live Jev comparison is optional.

Run it locally

Node.js 22 or newer. The default lab needs no API key or cloud account.

git clone https://github.com/alejandrofrank/catalog-match-lab.git
cd catalog-match-lab
npm run dev

Then open http://127.0.0.1:4311. Follow the repository for optional integrations and verification commands.