← Volver a proyectos
En curso

Hardware Pulse

Inteligencia de precios de hardware para el mercado uruguayo

3+Retailers integrados
4Categorías de componentes
3Etapas de resolución
PydanticContratos de datos
PythonBeautifulSouppandasSQLiteRapidFuzzScikit-learnStreamlit

El problema

Los precios de hardware en Uruguay tienen una dispersión enorme entre retailers por el tamaño del mercado, los costos de importación y la volatilidad cambiaria - y no existía herramienta para seguirlos ni compararlos.

La solución

Pipeline de scraping automatizado con resolución de entidades en tres niveles (exacto → regex → fuzzy), snapshots de precios normalizados y feature engineering semanal para pronóstico de precios.

Impacto

Ayuda a los compradores uruguayos a elegir cuándo comprar y en qué retailer, en GPUs, CPUs, SSDs y RAM - siguiendo 3+ comercios locales con un pipeline reproducible, contratos de datos Pydantic y SQLite en modo WAL para acceso concurrente.

Desafíos de ingeniería

Resolución de entidades con títulos inconsistentes

Los títulos de producto varían muchísimo entre retailers. Un pipeline de tres niveles (exacto → regex → fuzzy con rapidfuzz) resuelve los listados a SKUs canónicos y marca los casos dudosos para revisión manual.

Scraping de sitios heterogéneos

Cada retailer usa una estructura HTML y una paginación distintas. Un BaseHTMLScraper con patrón Template Method eliminó la lógica de orquestación duplicada entre scrapers.

Aprendizajes

Contratos de datos antes del scraping

Definir los modelos Pydantic (RawListing, PriceSnapshot) antes de escribir los scrapers obligó a decidir qué datos importaban de verdad y evitó el drift de esquema.

Las métricas de ingeniería sustituyen a las del modelo al principio

Un pipeline bien diseñado, con contratos claros y cobertura de tests, demuestra madurez de ingeniería incluso antes de tener métricas de modelo.