Tres capas: catálogo (scraping/API de 13 tiendas), motor de compatibilidad (50+ reglas escritas en código, no IA), comparador cross-store (matcher fuzzy con guard por specs). Todo abierto, todo documentado.
Ver las 50+ reglas Sobre el proyectoSpiders en Python (Scrapy) extraen productos de tiendas Shopify (Pyrodrone, GetFPV, BetaFPV, RaceDayQuads, MepsKing, HGLRC, Diatone, etc.) via su API pública /products.json. AliExpress se integra via API oficial de afiliados (no scraping HTML). Cada producto pasa por un normalizer por categoría que extrae specs estructurados (KV, stator, mount pattern, voltaje, etc.) con regex + LLM fallback semanal.
50+ reglas escritas en PHP en CompatibilityEngine.php. Cada regla devuelve uno de tres estados: pass (compatible), warning (avisa pero no bloquea), error (build inválido). Las reglas se ejecutan en cada cambio del build. No es IA — son reglas determinísticas: si mount_pattern del motor no está en el set de motor_mounts del frame, error. Punto.
Un mismo producto (ej. RDQ Mach 3 Frame) puede vender en 4 tiendas con títulos distintos. El matcher usa fuzzy string + guard por specs (stator+KV para motores, cells+mAh para baterías, prop_size para frames) para deduplicar y mostrar todas las opciones de compra agrupadas en una sola tarjeta de producto.
Opcional. El chatbot tiene acceso a herramientas (search_products, recommend_full_build, validate_compatibility) y construye builds completos llamando a las mismas APIs que la UI. No alucina IDs porque las herramientas validan que los productos existan antes de devolverlos.