IRCO Content Gaps Finder
Informal product walkthrough
Content Gap Agent

Una app AI-driven donde no todo debe ser AI

Como usamos agentes, corpus, embeddings, retrieval y scoring para convertir un analisis SEO complejo en una experiencia simple.

Usa ← / → para navegar. Pulsa N para notas.
What it is
01
La idea

Detectar oportunidades de contenido comparando tres fuentes

La app intenta contestar una pregunta concreta: donde tenemos una oportunidad real de mejorar contenido, y que evidencia lo sostiene.

1

Owned Content

Lo que tenemos publicado o indexado en los sitios de la marca.

Sirve para medir si ya cubrimos bien el topic.

2

Competitor Corpus

Contenido normalizado e indexado de competidores relevantes.

Sirve para ver si el gap es competitivo o de mercado.

3

Search Signal

Demanda, intent y volumen cuando Semrush esta disponible.

Sirve para priorizar, no para sustituir el scoring.

El valor no es solo responder: es comparar evidencia.
Outside vs inside
02

Lo que ve el usuario

Un prompt sencillo.
Un run que progresa.
Una scorecard clara.
Una recomendacion accionable.

Lo que hay detras

Data foundation

Crawling, normalization, chunking, embeddings and published corpus state.

Retrieval layer

Lexical and semantic candidates merged into one evidence pool.

Decision layer

Deterministic scores, thresholds, retries, workers and status tracking.

AI layer

Intent interpretation, orchestration, summarization and human-readable output.

Brand context Owned index Competitor corpus Content Index Runs Provider operations Firecrawl Contentstack Semrush OpenAI pgvector Cluster drafts Query variants Lexical top K Semantic top K Shortlisting Coverage scores Opportunity tier Summary reports
Simple interface, complex system.
Product surface
03
Captura real

El producto intenta reducir la complejidad a conceptos visibles

El usuario no necesita leer logs ni entender embeddings para empezar. La primera lectura es una tabla: Coverage, Gap, Competitive, Semrush y Opportunity.

50topics guardados en el report
17covered
25needs improvement
6missing
Summary report screenshot
Primera capa: conceptos simples, evidencia visible.
What an agent is
04
Mental model

Un agente es un LLM que puede orquestar tools

La parte importante no es que el modelo "sepa" todo. Es que puede decidir cuando responder con lenguaje y cuando delegar en una tool con datos, reglas o calculo controlado.

User intent"Find content gaps for vacuum pumps"
LLMinterpreta la tarea y decide el siguiente paso
Tool choicecontent gap, retrieval, Semrush, draft, etc.
Executiondatos, reglas, corpus y workers
Answerresultado presentado en lenguaje humano
Como una calculadora: no sustituye el razonamiento, lo amplifica.
Agent to workflow
05
After tool choice

La tool no improvisa: ejecuta un workflow con reglas

Slide 4: Agent layer El LLM interpreta la intencion y decide si necesita una tool, como Content Gap, Semrush o Draft.
Slide 5: Workflow layer Una vez elegida la tool, el analisis pasa a pasos controlados: estado, retrieval, scoring y evidencia.
Tool inputtopic, brand, locale, competitors
Cluster planuna fila por topic, no una query gigante
Evidence retrievalowned + competitors, lexical + semantic
Deterministic scoringcoverage, gap, comparator, opportunity
User outputscorecard + evidence + report
El agente inicia el trabajo; el workflow lo hace reproducible.
Why LLMs need boundaries
06
Before choosing AI vs rules

Un LLM predice lenguaje; el software ejecuta reglas inspeccionables

GB
Grady Booch @Grady_Booch
AGI is closer than you think.
AI Overview
There is exactly 1 "r" in the word "Google" (G-o-o-g-l-e).
function countLetters(word, letter) { return [...word].filter( char => char === letter ).length } countLetters("Google", "r") // 0
Un bug en codigo se inspecciona; un LLM no se depura igual.
Probabilistic vs deterministic
07
Decision design

La pregunta no es "podemos usar AI aqui?"

La pregunta es: si esta decision cambia cada vez, nos importa?

Si importa, necesitamos reglas, thresholds o estado controlado.
Where AI belongs
08

Probabilistic is useful when...

queremos interpretar intencion
queremos expandir lenguaje o variantes
queremos resumir evidencia compleja
queremos generar una explicacion humana

Deterministic is needed when...

queremos reproducibilidad
queremos thresholds auditables
queremos retries y estados fiables
queremos comparar resultados entre runs
Una app AI-based sigue necesitando software engineering clasico.
Crawling and indexing
09
Why not "just search live"?

Controlamos el corpus porque el corpus es parte del producto

DiscoveryEncontrar URLs candidatas
SelectionConfirmar que merece crawl
CrawlTraer paginas reales
NormalizeLimpiar contenido
ChunkPreparar evidencia
EmbedCrear vectores
PublishActualizar read model
Mejor para produccion: corpus controlado Nos da repetibilidad, freshness control, retries, auditoria y retrieval estable. Si un score cambia, podemos explicar que evidencia cambio.
Peor como default: buscar live cada vez Sirve para explorar, pero no para puntuar: los resultados cambian, las fuentes desaparecen, el coste varia y el scoring deja de ser reproducible.
Content Index Run = estado durable, no polling visual.
Workflow docs
10
Documented system

El workflow no es una respuesta: es una cadena de decisiones controladas

AI / probabilistic interpretation
Hybrid retrieval or semantic signal
Deterministic logic, state or scoring

Request & orchestration

Chat request user intent
Build cluster drafts topic + variants
Resolve competitors configured domains
Create run + rows durable state
Process chunks of 3 bounded concurrency

Owned branch

Expand query space lexical + semantic seeds
Retrieve owned candidates larger candidate pool
Hydrate top pages real page evidence
Score owned pages coverage aggregate
Build gap status missing / improve / covered

Competitor branch

Check corpus availability missing / stale / usable
Lexical top K + semantic top K hybrid retrieval
Merge and shortlist 10 or 20 pages
Score competitor coverage top retained evidence
Pick best comparator stable tie-breaks

Signals & result

Start Semrush async demand signal
Query embedding async retrieval signal
Competitive rollup gap / parity / lead
Opportunity tier heuristic priority
Final explanation human-readable output
Docs como producto interno: ayudan a operar y mejorar.
Scorecard
11
Example row

El resultado visible no es una opinion del LLM

Topic
industrial vacuum pump maintenance
Coverage
42%
Gap
Needs improvement
Competitive
Competitor leads
Opportunity
High
Ejemplo sintético basado en conceptos reales del scorecard.
Guardrail
12
Core rule

Usamos AI para interpretar y explicar. Usamos software deterministico para decidir, medir y repetir.

Esta es la frase que resume la arquitectura.
Real evidence
13
Admin chat

Un chat real ya contiene evidencia, competidores y acciones siguientes

En una misma respuesta aparecen paginas organicas, trafico, competidores y sugerencias de siguiente accion. Esto refuerza la idea principal: el agente responde, pero el producto guarda evidencia visible.

Admin chat detail screenshot
Captura real local con irco_admin.
Building with agents
14
Development process

Tambien usamos agents para construir y operar el sistema

Beta feedback

Detectar bugs, agrupar sintomas y alimentar backlog.

Repo-aware coding

Agents con contexto de codigo, tests y arquitectura.

Long-running ops

Supervisar crawls, embeddings, indexing y errores.

AI no solo en producto; tambien en delivery.
Crawling lesson
15
What we learned

Cada competitor site era distinto

1A veces era un bug real.
2A veces era una limitacion del sitio externo.
3A veces habia que hacer skip, retry o aceptar una cobertura parcial.
Los agents ayudaron a observar y clasificar problemas durante horas.
Closing
16
Takeaway

Lo potente no es que use AI. Lo potente es que sabe cuando usar AI y cuando no.

Esa decision es lo que hace que el resultado sea util para usuarios, discutible para PMs y mantenible para developers.

Cierre del marco conceptual.