
NextPlan / Proyecto de Máster en IA
Plataforma de recomendación de eventos con IA
Plataforma integral para descubrir y planificar eventos en España mediante una experiencia multicanal: exploración en mapa, tarjetas de afinidad (swipes), asistente conversacional con RAG y recomendaciones personalizadas.
Eliminar la fatiga de decisión y la dispersión de las agendas culturales mediante un recomendador transparente y respetuoso con la privacidad del usuario.
Arquitectura desacoplada en Google Cloud: enriquecimiento del catálogo con IA, streaming de interacciones a BigQuery con dbt, clustering K-Means con exploración de grupos vecinos y un asistente conversacional RAG sin alucinaciones.
Aplicación web interactiva en React con scoring de afinidad en vivo y bucle de aprendizaje post-evento por email mediante enlaces de un solo clic bajo cumplimiento del RGPD.
- Organización
- EDEM Escuela de Empresarios
- Mi aportación
- Sistemas de IA: clustering y RAG
- Marco académico
- EDEM Escuela de Empresarios · Máster en IA / 2026
- Alcance
- Plataforma integral en GCP (Dataflow + BigQuery + dbt + Vertex AI + React)
- Google Cloud
- Python
- FastAPI
- dbt
- Docker
- Terraform
- React
- Tailwind CSS
El ocio no necesita más listas, necesita relevancia y personalización
Decidir qué hacer un fin de semana debería ser sencillo, pero suele convertirse en una búsqueda frustrante. Las agendas culturales están saturadas de listas interminables con descripciones escuetas y filtros rígidos que no capturan lo que de verdad importa: el ambiente de un plan, la compañía o el momento del día.
El usuario experimenta fatiga de decisión antes de encontrar algo apetecible. NextPlan nació en el Máster de IA de EDEM para resolver este problema uniendo ingeniería de datos, Machine Learning y diseño de producto: centralizar miles de eventos y personalizarlos para cada persona.
La plataforma ofrece tres vías complementarias de descubrimiento: un mapa visual para explorar la ciudad, una interfaz ágil de tarjetas (swipes) para capturar gustos al instante, y un asistente conversacional que elabora itinerarios a medida.
Sistemas de IA: clustering y RAG
Mi aportación en NextPlan se limitó a los sistemas de IA: el motor de clustering de usuarios y el asistente conversacional basado en RAG.
Desarrollé el clustering con K-Means para agrupar usuarios según sus afinidades y ampliar las recomendaciones con eventos de grupos próximos.
También desarrollé el asistente RAG en dos fases, que interpreta las peticiones y recupera eventos del catálogo para responder con información verificada.
Un ecosistema distribuido y desacoplado en Google Cloud
Para sostener una experiencia de descubrimiento en tiempo real sin cuellos de botella, la plataforma se construyó sobre una arquitectura distribuida y desacoplada en Google Cloud Platform, donde cada componente asume una responsabilidad estricta: ingesta, analítica, inferencia de Machine Learning y entrega web.
Los datos transaccionales se gestionan en Cloud SQL, mientras que BigQuery funciona como el gran repositorio analítico central donde convergen el catálogo de eventos, los embeddings semánticos y los millones de eventos de interacción. La herramienta dbt orquesta las transformaciones analíticas, alimentando en paralelo al motor de clustering y al agente de Vertex AI.
A continuación, el diagrama de flujo ilustra cómo se conectan las tres vías de entrada, convergen en el almacén de datos y se distribuyen hacia la experiencia de usuario y los modelos inteligentes.
Tres vías de entrada, un almacén analítico y dos motores de IA
El catálogo batch desde Ticketmaster mediante Dataflow, los eventos de swipes en streaming vía Pub/Sub y el feedback post-evento convergen en BigQuery. La herramienta dbt procesa las características de usuario para alimentar el recomendador K-Means y el asistente conversacional con RAG.
Catálogo masivo
- Ticketmaster API diaria
- Apache Beam (Dataflow)
- Enriquecimiento Gemini + Embeddings
Telemetría en tiempo real
- SPA React 19
- FastAPI portal-api
- Pub/Sub streaming swipe-events
Feedback post-evento
- Cloud Tasks & Cloud Functions
- SendGrid (JWT firmado HS256)
- Calificación 1-clic
Almacenamiento analítico unificado
BigQuery
Google Cloud Platform
Catálogo, vectores e interaccióndbt
Cloud Run Jobs
Feature Store 30d y 90dUna base analítica, dos motores inteligentes
Motor de recomendación
K-Means + Scoring multivariable
Clustering por afinidad, vecinos y bonificaciones
Ranking personalizado por usuarioTarjetas de swipe y mapa
Asistente conversacional
Vertex AI Agent Engine (ADK)
Extracción defensiva + VECTOR_SEARCH en BigQuery
Itinerarios reales sin alucinaciónChat en lenguaje natural
- Terraform (20 módulos)
- Infraestructura como código completamente automatizada en GCP
- Seguridad y RGPD
- 11 workflows CI/CD en GitHub Actions y registro de auditoría Art. 32
Ingesta dual: streaming reactivo con Pub/Sub y batch masivo con Dataflow
El comportamiento del usuario exige inmediatez: cada swipe o lectura prolongada se transmite de forma asíncrona mediante Pub/Sub a BigQuery sin bloquear la aplicación web, garantizando alta tolerancia a picos de tráfico.
Por su parte, la actualización del catálogo cultural se ejecuta en batch diario mediante Apache Beam en Dataflow, enriqueciendo las descripciones con Gemini y generando embeddings vectoriales de forma controlada y rentable.
Almacén analítico centralizado y Feature Store con dbt sobre BigQuery
Evitar silos entre la navegación de la app y los modelos de IA fue prioritario. Centralizar todo el histórico en BigQuery y transformar las interacciones con dbt en ventanas móviles de 30 y 90 días permite calcular señales de afinidad limpias y comparables.
Este modelado dimensional actúa como un Feature Store continuo: tanto el algoritmo K-Means como las consultas vectoriales de búsqueda se nutren exactamente de los mismos datos depurados y auditables.
Recomendación híbrida: K-Means con expansión de centroides y agente RAG
El sistema no depende de una sola técnica de IA. Para navegación rápida, el algoritmo K-Means segmenta a los usuarios por afinidad y calcula distancias euclídeas entre centroides para sugerir planes afines sin encerrar al usuario en una burbuja de repetición.
Para búsquedas complejas en lenguaje natural, un agente conversacional RAG en Vertex AI traduce la intención del usuario a una consulta SQL y vectorial sobre BigQuery, entregando itinerarios con precios y horarios reales sin riesgo de alucinación.
Ingesta masiva, enriquecimiento semántico y transformaciones dbt
Las fuentes de ocio públicas presentan una alta disparidad: categorías genéricas, descripciones breves y textos sin estructura. Para homogeneizarlas, el pipeline en Dataflow descarga diariamente miles de eventos y los enriquece mediante inteligencia artificial con Gemini: clasifica la atmósfera o estilo del plan (vibe), determina la compañía adecuada (parejas, amigos o familia) y genera vectores semánticos para encontrar eventos similares por significado y no solo por etiquetas fijas.
Al mismo tiempo, la aplicación recoge las señales de interés del usuario: no solo la dirección del swipe (descartar o guardar), sino el tiempo que dedica a leer los detalles de cada tarjeta antes de decidir.
En BigQuery, los modelos de dbt transforman estos eventos brutos en variables de afinidad limpias a 30 y 90 días, eliminando duplicados y calculando el peso de cada categoría. Este modelado deja los datos preparados para la siguiente fase: el motor de recomendación inteligente.
Clustering de afinidad, scoring multivariable y agente RAG
Con las variables de afinidad consolidadas en el almacén de datos, el núcleo inteligente de NextPlan resuelve dos retos: ordenar los mejores planes para las tarjetas y responder dudas complejas en el chat.
En primer lugar, el algoritmo K-Means agrupa a los usuarios en comunidades con gustos similares. Para no encerrar a nadie en una burbuja repetitiva donde siempre vea lo mismo, el recomendador combina planes del grupo principal del usuario (peso 1.00) con sugerencias de grupos vecinos cercanos (pesos 0.60, 0.40 y 0.25). De este modo, alguien afín a la música indie también descubre obras de teatro alternativo o festivales afines.
A continuación, el cálculo final suma dos impulsos deterministas: una bonificación si el evento ocurre en la ciudad del usuario (+0.08) y un incentivo si la fecha está próxima (hasta +0.04) para primar planes inmediatos. En paralelo, el asistente conversacional con RAG en Vertex AI interpreta peticiones abiertas en lenguaje natural («planes tranquilos para este sábado») y busca directamente en la base de datos planes verificados con precio y horario real, sin inventar información.
Experiencia multicanal: mapa, swipes y asistente inteligente
Toda la ingeniería de datos e IA confluye en una aplicación interactiva en React que ofrece tres formas naturales de descubrir ocio: explorar eventos sobre un mapa dinámico, entrenar las preferencias personales mediante una baraja ágil de swipes y solicitar itinerarios a medida al asistente conversacional.
Tras asistir a un plan recomendado, el sistema cierra el ciclo de aprendizaje mediante correos electrónicos con enlaces encriptados de un solo clic («Me gustó» / «No me gustó»). La respuesta actualiza automáticamente el Feature Store en BigQuery sin exigir login al usuario y respetando el RGPD por diseño.
A continuación puedes explorar el prototipo funcional de NextPlan. Prueba la experiencia de swipes con telemetría en vivo, examina cómo calcula el recomendador las puntuaciones por clúster y simula consultas reales al agente conversacional.
Demostrador interactivo · NextPlan
Plataforma de Recomendación de Eventos
Festival Noches del Botánico
Ciclo de conciertos en un entorno botánico singular, con aforo limitado y acústica cuidada al atardecer.
- Recinto
- Real Jardín Botánico Alfonso XIII
- Fecha
- 2026-06-12
- Vibe inferido (Gemini)
- Íntimo, al aire libre y fresco
- Ocasión idónea
- Parejas · Amigos · Amantes de la música
Telemetría de interacción (Pub/Sub → BigQuery)
Event Stream Reciente (stg_swipes)
- [LIKE] Festival Noches del Botáni...2450ms
Los eventos se emiten a Pub/Sub (`swipe-events`) con envelope JSON que incluye dwell_ms y snapshot contextual para dbt.
La IA al servicio del dato y del producto
Este proyecto consolidó una certeza fundamental: los modelos de lenguaje y la inteligencia artificial solo aportan valor real cuando están respaldados por una ingeniería de datos robusta. Un asistente conversacional sin datos verificados alucina; conectado a un almacén estructurado con búsqueda vectorial, resuelve problemas cotidianos.
También demostró la potencia de combinar técnicas: el clustering clásico (K-Means) segmenta audiencias de forma rápida y económica, mientras que los modelos de lenguaje aportan contexto semántico, portadas visuales y diálogo en lenguaje natural.
Diseñar un producto multicanal (mapa, tarjetas y conversación) confirmó que no todos los usuarios descubren ocio de la misma manera: ofrecer la vía adecuada para cada momento es lo que convierte una tecnología compleja en una experiencia atractiva.
Herramientas y tecnologías
- Google Cloud
- Python
- FastAPI
- dbt
- Docker
- Terraform
- React
- Tailwind CSS