← Back to projects
In Progress

Hardware Pulse

PC hardware price intelligence for the Uruguayan market

3+Retailers integrated
4Component categories
3Resolution pipeline stages
PydanticData contracts
PythonBeautifulSouppandasSQLiteRapidFuzzScikit-learnStreamlit

The Problem

PC hardware prices in Uruguay show high dispersion across retailers due to small market size, import costs and exchange rate volatility - with no existing tool to track or compare them.

The Solution

Automated scraping pipeline with three-tier entity resolution (exact match → regex → fuzzy), normalized price snapshots, and weekly feature engineering for price forecasting.

Impact

Helps Uruguayan PC buyers time their purchase and find the cheapest retailer across GPUs, CPUs, SSDs and RAM - tracking 3+ local retailers with a reproducible pipeline, Pydantic data contracts and SQLite WAL mode for concurrent access.

Engineering Challenges

Entity resolution across inconsistent titles

Product titles vary wildly between retailers. A three-tier pipeline (exact → regex → fuzzy with rapidfuzz) resolves listings to canonical SKUs with flagging for manual review.

Scraping heterogeneous sites

Each retailer uses different HTML structure and pagination. A BaseHTMLScraper Template Method pattern eliminated duplicated orchestration logic across scrapers.

Lessons Learned

Data contracts before scraping

Defining Pydantic models (RawListing, PriceSnapshot) before writing scrapers forced clarity on what data actually mattered and prevented schema drift.

Engineering metrics replace model metrics in early stages

A well-designed pipeline with clear contracts and test coverage demonstrates engineering maturity even before model metrics are available.