Skip to content
··9 min de lectura

4 Semanas: Construyendo una Plataforma de Marketing con 10 Agentes Mientras Echaba Siestas

Construí 3 agentes de marketing con IA y arquitectura multi-tenant en 4 semanas, lo mismo que logré en un mes construyendo mi producto anterior que tardó 7 meses en lanzarse.

ACTUALIZACIÓN (noviembre de 2025): ¡STRAŦUM ya está en vivo! Lo que comenzó como un "speed run de 4 semanas" evolucionó hasta convertirse en una aplicación completa de inteligencia de marketing con 9 agentes. Lee la historia completa del lanzamiento: STRAŦUM: La Aplicación de Marketing con 9 Agentes Que Construí en 75 Días

Pruébalo ahora: en stratum.chandlernguyen.com (Alpha Privada - acceso solo por invitación)

Seis días. Eso es cuánto esperé después de lanzar DIALØGUE antes de empezar mi siguiente proyecto.

Quizás estés pensando: "¿No deberías estar, no sé, haciendo marketing de tu generador de podcasts? ¿Consiguiendo usuarios? ¿Arreglando bugs?" Y tendrías toda la razón. Pero aquí está la cuestión: quería ver hasta dónde y qué tan rápido podía llevarme al límite con las nuevas herramientas de IA. Llámalo un speed run, llámalo sobreambición, llámalo lo que pasa cuando Claude Code y Gemini 2.5 Pro hacen que construir sea divertido otra vez.

La Línea de Tiempo Que No Debería Ser Posible

Para poner esto en perspectiva:

- DIALØGUE: 6-7 meses desde la primera línea de código hasta el lanzamiento

- Marketing Suite: 4 semanas después, ya tengo 3 agentes de IA funcionando y hablando entre sí

Revisando el historial de git, al final del primer día, tenía:

- Arquitectura multi-tenant con jerarquía organización → cliente → campaña

- Frontend de React inicial con autenticación

- Un Business Strategy Agent funcionando con 11 frameworks diferentes, cubriendo diferentes regiones. Estos frameworks son usados por las principales firmas de consultoría globales/regionales. Por ejemplo:

- Integración con Supabase y Row Level Security

Eso es más de lo que logré en el primer mes de construir DIALØGUE.

Los Números Que Me Mantienen Motivado

Algunas métricas rápidas de las últimas 4 semanas:

- Funcionalidades lanzadas: 3 agentes completos + arquitectura multi-tenant

- Líneas de código: ~117,000 (Python: 39k, TypeScript: 58k, SQL: 20k, Javascript: el resto)

- Tablas de base de datos: 39 (cada una con un propósito específico, más sobre esto después)

- Commits de git: 232 (en aproximadamente 26 días)

- Café consumido: No preguntes

Por Qué Este Proyecto Es en Realidad 10x Más Difícil

DIALØGUE era complejo, claro. AWS Lambda functions, Step Functions, eventualmente migrando todo a Google Cloud Run. Pero fundamentalmente era una herramienta de propósito único: generar podcasts. Un tipo de usuario. Un flujo de trabajo. Un happy path.

¿Esta Marketing Suite? Déjame mostrarte lo que quiero decir:

Un Escenario Real: Una agencia gestiona Nike y Adidas (hipotéticamente). El estratega de la agencia usa el Business Strategy Agent para analizar la posición de Nike. Ese análisis se guarda automáticamente en la tabla strategy_outputs. Cuando cambian al Persona Agent, extrae la estrategia de Nike para informar el desarrollo de personas, pero NO PUEDE ver los datos de Adidas. Mientras tanto, las directrices de marca de Nike en la tabla brand_guidelines se propagan en cascada al Content Agent, asegurando que cada pieza de contenido use la voz de Nike, no la de Adidas.

Esto requiere:

- Tabla organizations con tipos SME vs AGENCY

- Tabla clients (solo para agencias)

- Campañas con foreign keys tanto a org COMO a client

- strategy_outputs con aislamiento a nivel de campaña

- brand_guidelines con herencia jerárquica

- Políticas de Row Level Security en cada tabla

Y eso es solo un flujo de trabajo. Ahora multiplícalo por 10 agentes, cada uno con sus propios requisitos de datos.

Lo Que Realmente Está Funcionando (Y Lo Que Todavía Es Caos)

Funcionando (Los 3 Agentes En Vivo + Business Intelligence)

Business Strategy Agent: Este no es tu típico generador de SWOT. Aplica 11 frameworks completos:

- Análisis SWOT

- Las Cinco Fuerzas de Porter (Rivalidad competitiva, Poder del proveedor, Poder del comprador, Amenaza de sustitución, Amenaza de nuevos entrantes)

- Business Model Canvas (9 bloques de construcción del diseño empresarial)

- Priorización ICE (Impacto, Confianza, Facilidad de puntuación)

- Matriz BCG de Crecimiento-Participación (Estrellas, Vacas Lecheras, Signos de Interrogación, Perros)

- Framework VRIO (Valor, Rareza, Imitabilidad, Organización)

- Modelo de Tres Horizontes (Núcleo actual, Oportunidades emergentes, Apuestas futuras)

- Blue Ocean Strategy (Cuadrícula Eliminar, Reducir, Aumentar, Crear)

- Framework McKinsey 7S (Estrategia, Estructura, Sistemas, Valores Compartidos, Habilidades, Estilo, Personal)

- Framework OKRs (Objetivos y Resultados Clave)

- Jobs to Be Done (Trabajos del cliente, Dolores, Ganancias)

Cada framework genera datos estructurados que alimentan a otros agentes. Cuando realizas un análisis SWOT, las "Oportunidades" informan automáticamente las tácticas de crecimiento del Marketing Strategy Agent.

Persona Agent: Genera personas de clientes detalladas con más de 15 atributos Y, aquí está la parte increíble, puedes entrevistarlas. Conversación real:

Tú: "¿Qué es lo que más te frustra de las herramientas actuales de gestión de proyectos?"

Persona (Fundador de Startup Tecnológica): "El constante cambio de contexto. Necesito revisar Slack, luego Asana, luego nuestro dashboard de analytics. Para cuando descubro qué necesita atención, ya perdí 30 minutos."

Cada respuesta de entrevista se vuelve más inteligente porque extrae del historial persona_interactions. Los usuarios pasan 20-30 minutos en estas entrevistas. Un usuario dijo: "Es como grupos de enfoque, pero instantáneo y realmente útil."

Marketing Strategy Agent: Este es el puente. Toma tu estrategia empresarial, comprende tus personas y crea planes de go-to-market accionables. No simplemente dice "usa las redes sociales": mapea personas específicas a canales específicos con mensajes específicos. Tácticas de presupuesto cero para startups bootstrapped. Asignación de presupuesto 70-20-10 para PYMEs. Orquestación multicanal para empresas.

Business Intelligence (El Héroe Oculto): Cada conversación con cualquier agente extrae automáticamente perspectivas y construye conocimiento organizacional. ¿Hablas con el Strategy Agent sobre entrar al mercado europeo? Esa perspectiva se guarda en la tabla ai_insights. La próxima semana cuando uses el Content Agent, ya sabe sobre tus planes de expansión en Europa. Sin re-explicar. Sin perder contexto.

Aún Construyendo (Los Próximos 7 Agentes)

Campaign Execution Agent: Aquí es donde las cosas se ponen difíciles. ¿Cómo almacenas de forma segura las API keys de Google Ads, Meta, LinkedIn, TikTok? El plan actual involucra almacenamiento cifrado en la tabla platform_credentials con registros de auditoría para cada llamada a la API. Pero el modelo de permisos me quita el sueño.

Analytics Agent: ¿Qué APIs integrar primero? ¿Google Analytics 4? ¿Anuncios de Meta? ¿LinkedIn Analytics? El desafío no es solo extraer datos; es normalizarlos entre plataformas para poder comparar realmente manzanas con manzanas.

ROI & Budget Agent: Seguimiento en tiempo real entre múltiples plataformas con diferentes modelos de atribución. ¿Cómo reconcilias la atribución basada en datos de Google con el modelo de Meta? Todavía estoy resolviendo esto.

Los Otros 4 Agentes: Quick Wins (encontrar oportunidades inmediatas), Competitive Intelligence (análisis ético de competidores), Client Success (estrategias de retención) y Content Agent (que en realidad ya funciona pero necesita pulido).

Las Preguntas Difíciles Que Me Quitan el Sueño

- Nombre de marca: ¿cómo debería llamar esta aplicación? :P ¡Si tienes buenas sugerencias, házmelo saber abajo!

- Seguridad de API: ¿Cómo manejas las API keys para múltiples plataformas de anuncios sin convertirte en una pesadilla de seguridad?

- Experiencia Cohesiva: ¿Cómo haces que 10 agentes especializados se sientan como una plataforma unificada en lugar de 10 herramientas diferentes pegadas con cinta adhesiva?

- ¡y muchas más! :)

La Evolución de la Arquitectura: Aprendiendo del Dolor

Con DIALØGUE, aprendí de la manera difícil sobre las condiciones de carrera. ¿Recuerdas ese bug de registro de 3 minutos? Los nuevos usuarios esperaban eternamente porque el trigger de auth y la Edge Function competían para crear el mismo registro de usuario.

Esta vez, lo construí bien desde el primer día. Aquí hay un ejemplo real de hace un par de días:

El Problema: El Marketing Strategy Agent necesita saber qué personas existen, qué estrategias se han creado y qué directrices de marca seguir, todo mientras mantiene un aislamiento completo de los datos.

La Solución: En lugar de hacer que cada agente consulte múltiples tablas (lento, complejo, propenso a errores), construí un Enterprise Context Service que actúa como fuente única de verdad:

// Antes: Cada agente haciendo múltiples consultas
  const personas = await supabase.from('personas').select()
  const strategies = await supabase.from('strategies').select()
  const guidelines = await supabase.from('brand_guidelines').select()

  // Después: Un servicio inteligente
  const context = await getEnterpriseContext(campaignId)
  // Devuelve datos filtrados, en caché y con alcance correcto en 45ms

¿El resultado? El Content Agent puede acceder instantáneamente a las directrices de voz de marca, ver para qué personas escribir y entender la estrategia de marketing, todo en una sola llamada que respeta los límites de los datos.

La Diferencia de Velocidad Es Real

El 14 de septiembre fue una locura. Mira el log real de git con marcas de tiempo:

08:04 AM - Migré el frontend al cliente API estandarizado
08:19 AM - Completé la estandarización de la API (100% de cobertura)
11:34 AM - Fase 1: Configuración centralizada de rutas
            (no más URLs hardcodeadas en ningún lugar)
1:00 PM  - Fase 2: Estandaricé las 10 páginas de agentes
            (patrones de URL consistentes como /agents/strategy/:campaignId)
1:10 PM  - Fase 3.1: Gestión central de contexto
            (jerarquía workspace → client → campaign en URLs)
4:31 PM  - Fase 3.2: Los componentes de navegación se volvieron sensibles al contexto
            (las migas de pan muestran "Nike › Campaña de Verano › Strategy Agent")
4:38 PM  - Fase 3.3: Todos los agentes integrados con el sistema de contexto
            (cambiar de campaña mantiene tu lugar)
5:03 PM  - Fase 3.4: Pruebas y Pulido
            (reducción del 92% del tamaño del bundle mediante code splitting)

Seis mejoras arquitectónicas importantes. El sistema de URLs solo tocó más de 40 archivos en todo el codebase. Antes de la asistencia de IA, esto hubiera sido una refactorización de una semana con probablemente algunas funcionalidades rotas en el camino.

Y realmente no estuve frente a la computadora la mayor parte del tiempo :D

Era domingo, así que fuimos a la iglesia, al supermercado, tuvimos un almuerzo completo con mariscos, eché una siesta, fui a Costco y jugué algunos juegos en mi iPad. Esto es posible gracias al coding asistido por IA. ¡Gracias a Claude Code y Gemini CLI!

Esto es lo que esa estandarización de URL significa en realidad para los usuarios:

// Antes: Se perdía el contexto al cambiar entre agentes
  "/strategy" // ¿Qué campaña? ¿Qué cliente? ¿Quién sabe?

  // Después: Contexto preservado en la URL
  "/workspace/nike/campaign/summer-2025/agents/strategy"
  // Guárdala, compártela, actualízala - el contexto se mantiene intacto

¿Por Qué Construir Esto Cuando DIALØGUE Acaba de Lanzarse?

Porque puedo. Porque las herramientas se han vuelto así de buenas. Porque después de más de 20 años en publicidad, finalmente tengo las habilidades para construir la plataforma de marketing que siempre quise usar.

¿Pero sobre todo? Porque quiero documentar lo que es posible cuando combinas experiencia en el dominio con las herramientas modernas de IA. No se trata de reemplazar desarrolladores, sino de amplificarlos. Hace cuatro semanas, construir algo tan complejo hubiera requerido un equipo. Ahora requiere determinación, buenos asistentes de IA y una cantidad peligrosa de cafeína. (Aunque como descubrí después al construir una app nativa de iOS sin saber Swift, la IA te lleva aproximadamente al 60% del camino; el 40% final de gusto y pulido sigue siendo completamente humano.)

¿Qué Sigue?

Apunto a un lanzamiento alpha en octubre/noviembre. Esto es lo que necesita pasar:

- Terminar los 7 agentes restantes

- Construir la interfaz de planificación de campañas

- Resolver la seguridad de integración de plataformas de anuncios

- Asegurarse de que el flujo/UI de la agencia sea sensato

- Probar todo con usuarios reales (aterrador)

El Analytics Agent solo necesitará agregar datos de Google Analytics, plataformas de anuncios y métricas internas en dashboards unificados. El ROI Agent necesita seguimiento de presupuesto casi en tiempo real entre múltiples plataformas.

Cada uno es un proyecto en sí mismo. Pero ¿a este ritmo? ¿En realidad se está sintiendo posible???

¿Quieres seguir el proceso? Estaré compartiendo más actualizaciones mientras construyo.

Construir en público significa compartir el caos junto con las victorias. En este momento, es principalmente caos. Pero es un caos productivo, y eso es lo que cuenta.

Vuelve en un mes. Si todo va bien, podrás probar una plataforma de marketing que tiene agentes de IA haciendo el trabajo de todo un departamento de marketing. Si no va bien... bueno, al menos los posts del blog serán entretenidos. :P

Seguir leyendo

Mi Trayectoria
Conectar
Idioma
Preferencias