Project case study

AI Product Builder & Catalog Enrichment

An AI product builder that researches products by SKU on the web, combines external evidence with BAYNAO catalog data, generates structured product and SEO content, and applies deterministic protections before database updates.

Status: Production + improvementRole: Pipeline design, implementation, validation & iteration

Project profile

AI Product Builder & Catalog Enrichment Engine

StatusProduction + continuous improvement
RoleArchitecture, Python implementation, AI integration, web research, validation & database updates
StackPython, AI models, Google/web search, MySQL, JSON, SQL, deterministic rules, SEO automation

A product-enrichment system that starts with limited catalog information, researches the product on the internet using its SKU/reference, compares the result with BAYNAO's own catalog structure, generates structured commercial and SEO content, applies deterministic business protections, and writes validated results back to the product database.

The catalog problem

BAYNAO manages a catalog of more than 2,000 technology products. Supplier records and imported product names can contain enough information to identify an item but not enough to create a useful e-commerce product page. Manually researching each SKU, selecting a category, writing descriptions, specifications, FAQs and SEO metadata does not scale.

The AI Product Builder was created to turn those sparse records into structured catalog entries while preserving the business data and URLs that should not be changed automatically.

SKU-based internet research

The Builder does not rely only on the existing database or on the language model's internal knowledge. It extracts the product reference/SKU and performs external web research to gather evidence about the exact model before enrichment.

  • Uses the SKU/reference as a high-confidence product identifier.
  • Collects external product information and source URLs as research context.
  • Combines web evidence with the original database record instead of replacing verified internal data.
  • Retains the collected research in info_real for traceability and later review.
  • Can leave uncertain fields empty rather than fabricate a value; in the example below, product weight remained null and no video was added.

Database-aware category matching

Product classification is constrained by BAYNAO's real published category structure. The execution shown for this case loaded 87 published categories and scored candidate matches using strong and base signals before selecting the final database category.

Original productSKU + terms87 published categoriesCandidate scoringValidated category ID

For the Logitech MX Anywhere 3S example, mouse scored 345 while unrelated candidates scored 0, resulting in category mouse (ID 31). This keeps AI-generated classification aligned with categories that actually exist in the commerce database.

Before → enriched product

This is a real example from the Builder. The original record supplied a useful product identity, but the customer-facing and structured catalog content still had to be researched and created.

BEFORE · Original product namemouse logitech MX Anywhere 3S Negro USB 910-006932Basic identity: product type, brand, model, color and SKU.
AFTER · SEO product nameMouse Logitech MX Anywhere 3S 910-006932 inalámbrico compactoEnriched with category, manufacturer, description, benefits, specifications, FAQ and SEO metadata.

Generated structured content

  • Manufacturer: LOGITECH
  • Final category: mouse · ID 31
  • Description: customer-facing description grounded in researched product characteristics.
  • Benefits: 7 structured selling/usage benefits.
  • Specifications: 9 structured technical/product attributes.
  • FAQ: 5 product-specific questions and answers.
  • SEO: title, meta description, keywords and friendly URL/slug handling.
  • Optional enrichment: video and weight only when suitable information is available.

Business-rule and URL protection

The model does not have unrestricted permission to rewrite the catalog. Deterministic rules are evaluated around the generated content. One of those controls protects established URLs based on the product's age in the system.

For the demonstrated product, fecha_lista_n = 2026-08-12 and the item had been in the system for only one day. The workflow compared slug_actual, slug_nuevo and slug_final, then recorded whether the URL was protected. This makes URL decisions explicit and auditable instead of silently allowing AI to alter routing.

  • Protect established URLs according to catalog rules.
  • Preserve verified internal values when external research is uncertain.
  • Validate generated JSON before persistence.
  • Allow unavailable facts to remain null instead of inventing them.

From AI research to a structured database update

The final output is not a block of marketing text. The Builder maps approved information into specific product fields and prepares the corresponding database update.

Web evidence+DB contextStructured AI JSONRules + validationSQL fieldsUpdated product

The example generated database-ready values for category, manufacturer, description, benefits, specifications, FAQ, SEO title, meta description, keywords, video, weight, friendly name and the crawler/enrichment status. The execution then reported PRODUCTO ACTUALIZADO after the product record was updated.

Architecture

The key engineering idea is that AI sits inside a controlled enrichment pipeline rather than acting as the system of record.

MySQL product recordSKU extractionInternet researchCategory matchingAI enrichmentBusiness rulesValidated SQL update

Visual evidence

Execution output, before/after product examples, category matching, web-research evidence, and validated database-update results from the enrichment pipeline.

Engineering decisions

  • Research before generation: use SKU-based internet evidence instead of asking a model to infer an unfamiliar product from its name alone.
  • Database-aware classification: choose from real published categories rather than allowing arbitrary AI category names to become database categories.
  • Structured output: generate JSON that can be validated and mapped to known database fields.
  • Deterministic protection around AI: URL age rules and existing business facts remain outside free-form model control.
  • Traceability: preserve external research context and execution output so enriched values can be reviewed.
  • Do not force unknown values: fields such as weight or video can remain empty when the available evidence is insufficient.