Electronics price aggregator with LLM matching
Challenge
Prices for the same piece of electronics differ from store to store, but there's no shared catalog or common product ID: every store names things its own way ("iPhone 15 128GB" vs "Apple iPhone 15 128 GB black"), the sites are JS-heavy and unfriendly to scraping, and what makes two listings "the same" changes by category — a phone is model and storage, a laptop is brand, model, RAM and SSD. To compare honestly you have to solve identity first, across thousands of listings.
Solution
We built a category-aware pipeline in Python: a discovery + scraping layer per store (Playwright for the JS-heavy, anti-bot ones), normalization into a per-category identity key (e.g. brand│model│RAM│SSD for laptops), then matching in two passes — deterministic rules on brand, model and specs first, with the leftover ambiguous pairs resolved by an LLM (Claude Haiku). It all runs as one pipeline and is surfaced on a public Next.js site with category pages, per-store price comparison and a Trust-&-Authority visual design.
Result
The aggregator compares prices across five electronics stores in three categories — smartphones, smartwatches and laptops — and the same skeleton ports to a new category with little code, mostly category-specific rules and identity keys. The rules-plus-LLM combination keeps matching robust even where names and specs are messy, and the public site lets a shopper see who's cheapest at a glance.
Want to talk through your problem?
Free 30-minute audit — we'll show what can be improved and what it costs.
Request an audit