Saltar al contenido principal
RM
TrabajoSobre míFotografíaContacto
ENES
← Casos de estudio

Caso de estudio

Inteligencia de marketing / Producto de datos

Campaign Pulse

Centro de mando local-first para inteligencia de marketing.

Campaign Pulse convierte datos de newsletters, campañas, audiencias, objetivos y exportaciones CSV en diagnósticos validados por adaptadores, señales de presión, lecturas frente a objetivos e informes operativos mensuales.

Listo para portfolio / prototipo local-first
Ver demo en vivo →Ver GitHub →
Next.jsTypeScriptTailwindRechartsLocal JSONlocalStorageFileReader CSVGitHub Actions
Campaign Pulse overview mission-control with synthetic newsletter performance and audience pressure data
Mission-control con datos Demo JSON sintéticos. No se muestran datos de clientes.
  • Problema /
  • Sistema /
  • Pantallas /
  • Inteligencia /
  • Ingeniería /
  • Resultado

Resumen del caso

El brief estratégico

El problema, la respuesta del sistema, la prueba disponible, el valor estratégico y el límite intencional.

Ruta de lectura
  1. 01Resumen
  2. 02Problema
  3. 03Sistema
01Problema
Los datos de newsletters, campañas, audiencias, objetivos y exportaciones están fragmentados en superficies separadas.
02Sistema
Un centro de mando local-first que valida CSV, normaliza hechos de campaña y calcula diagnósticos deterministas.
03Prueba
Demo en vivo, repositorio público, tests, capturas y artefactos de informe y exportación generados en navegador.
04Valor
Convierte datos mensuales de marketing en decisiones visibles sobre ingresos, presión de audiencia, objetivos y siguientes acciones.
05Límite
Usa datos sintéticos o locales del navegador; no conecta con un CRM ni una plataforma de email en vivo.
Ver demo en vivo →Ver GitHub →

Problema

Las métricas existen.Las decisiones siguen fragmentadas.

Los equipos de newsletter suelen repartir sus datos entre exportaciones, informes de campaña, segmentos y hojas de cálculo. Necesitan entender qué cambió, qué audiencia está bajo presión y qué hacer después.

Solución

Normalizar los hechos y hacer visible la decisión operativa.

Campaign Pulse convierte datos demo y exportaciones CSV en una capa analítica normalizada con diagnósticos frente a objetivos, señales de presión, movimiento de segmentos e informes operativos mensuales.

Qué construí

Un ciclo completo de análisis local-first.

01

Contrato de adaptador

Un límite normalizado para JSON y exportaciones CSV planas.

02

Adaptador Demo JSON

Valida campañas, newsletters, audiencias y objetivos sintéticos.

03

Adaptador CSV

Agrupa filas newsletter × segmento dentro del modelo compartido.

04

Mapeo editable

Alias inferidos, cambios manuales y comprobación de campos obligatorios.

05

Diagnóstico de rechazos

Explica filas inválidas antes de activar los datos.

06

Carga CSV local

FileReader procesa el archivo sin enviarlo a un servidor.

07

Objetivos editables

Objetivos globales, de campaña y segmento en localStorage.

08

Chips de comparación

Estados on track, watch y off track dentro de cada lectura.

09

Audiencia master-detail

Compara todos los segmentos y profundiza en uno.

10

Calendario + drawer

Cadencia y detalle de newsletter comparten contexto.

11

Comparación de campañas

Contribución, presión, mejores envíos y siguiente acción.

12

Informe + export pack

Memo imprimible y archivos JSON/CSV generados en navegador.

13

CI + despliegue

Tests enfocados, GitHub Actions y preparación para Vercel.

Arquitectura / Mapa del sistema

Ingesta, inteligencia y presentación permanecen separadas.

Los datos fuente no incluyen ratios, rankings, diagnósticos ni recomendaciones precalculadas. Los adaptadores normalizan primero; las utilidades TypeScript calculan la inteligencia después de validar.

01Datos fragmentados de newsletters y campañas
02Modelo de datos normalizado
03Inteligencia en dashboard
04Decisión mensual, informe y exportación

Entradas

JSON sintético o una exportación CSV local del navegador.

Contrato

Mapeo, validación, motivos de rechazo y entidades normalizadas.

Inteligencia

Ratios, rankings, presión, movimiento, objetivos, riesgos y recomendaciones.

Espacios

Overview, Calendar, Newsletters, Campaigns, Audience, Insights, Report y Data.

Pantallas clave

Un dataset, varias superficies de decisión.

La interfaz funciona como sala operativa, no como dashboard genérico. Cada espacio responde una pregunta manteniendo el mismo mes, fuente, objetivos y contexto de detalle.

Overview mission-control in Campaign Pulse using synthetic demo data
Overview mission-controlSalud de negocio, objetivo de ingresos, presión y siguiente acción.
Consola de datos in Campaign Pulse using synthetic demo data
Consola de datosCarga CSV local, estado de fuente, export pack y límite de sesión.
Mapeo de columnas in Campaign Pulse using synthetic demo data
Mapeo de columnasConfianza, campos obligatorios, filas aceptadas y diagnósticos.
Audiencia master-detail in Campaign Pulse using synthetic demo data
Audiencia master-detailValor, movimiento, presión, objetivos y acción recomendada.
Detalle de segmento in Campaign Pulse using synthetic demo data
Detalle de segmentoPresión semanal, fatiga, histórico y evidencia de miembros.
Calendario mensual in Campaign Pulse using synthetic demo data
Calendario mensualCadencia, presión, tarjetas de envío y resumen del mes.
Ranking de newsletters in Campaign Pulse using synthetic demo data
Ranking de newslettersMejores envíos, engagement, ingresos y riesgo.
Comparación de campañas in Campaign Pulse using synthetic demo data
Comparación de campañasContribución, RPR, presión, objetivos y recomendación.
Memo operativo mensual in Campaign Pulse using synthetic demo data
Memo operativo mensualResumen, evidencia, objetivos, riesgo y siguientes acciones.

Inteligencia de datos

Señales deterministas, no comentarios generados por IA.

Cada lectura se calcula desde hechos locales normalizados. Las fórmulas y umbrales son inspeccionables, repetibles y testeables.

OR

Aperturas únicas ÷ entregados. Respuesta inicial a asunto y remitente.

CTR

Clics únicos ÷ entregados. Profundidad de clic sobre la audiencia entregada.

CTOR

Clics únicos ÷ aperturas únicas. Rendimiento del contenido tras la apertura.

Conversión

Pedidos ÷ entregados. Conecta entrega con acción posterior.

RPR

Ingresos ÷ entregados. Compara valor entre envíos, campañas y segmentos.

Ingresos vs objetivo

Evalúa el valor real frente a objetivos globales o específicos.

Presión / saturación

Frecuencia, solapamiento y señales negativas muestran sobreexposición.

Movimiento de segmento

Growing, stable, declining, fatigued y recovering añaden dirección.

Filas rechazadas

Los errores permanecen visibles en vez de desaparecer.

Recomendaciones

Las acciones combinan rendimiento y restricciones de presión.

Notas de ingeniería

Un prototipo frontend creíble con límites explícitos.

El proyecto prioriza arquitectura de producto, analítica determinista, adaptadores y calidad de interacción sin añadir infraestructura innecesaria.

  • Next.js 14 App Router, React, TypeScript, Tailwind CSS y Recharts.
  • JSON local estático con datos sintéticos y objetivos por defecto.
  • FileReader para CSV y activación de datos solo durante la sesión.
  • localStorage únicamente para objetivos editables.
  • Utilidades deterministas y tests de adaptadores, objetivos, carga y exportación.
  • GitHub Actions y despliegue Vercel sin variables de entorno.
  • Sin backend, base de datos, autenticación, API keys, OAuth ni llamadas IA/LLM.

El flujo de implementación también consultó la colección awesome-vibe-coding como recurso de desarrollo. awesome-vibe-coding ↗

Limitaciones honestas

Prototipo de portfolio, no SaaS de producción.

  • Los CSV cargados solo existen durante la sesión actual.
  • No hay integración CRM/ESP, importación programada ni reconciliación.
  • No hay backend, base de datos, auth, estado multiusuario ni auditoría de servidor.
  • Todos los registros son sintéticos; no hay datos reales de clientes.
  • La analítica debe validarse con definiciones de negocio de producción.
  • Producción añadiría auth, almacenamiento, imports programados, observabilidad y conectores.

Resultado

Un prototipo de herramienta interna listo para portfolio.

Campaign Pulse reúne pensamiento de producto, ingeniería frontend, modelado de datos, analítica determinista, diseño de adaptadores e iteración UX en una superficie local-first coherente.

Pensamiento de producto

Convierte métricas fragmentadas en preguntas y acciones operativas.

Ingeniería frontend

Coordina espacios analíticos densos sin depender de backend.

Modelado de datos

Separa filas fuente, hechos normalizados, inteligencia y presentación.

Iteración UX

Equilibra lectura rápida con detalle de calendario, audiencia, campaña e informe.

Ver demo en vivo →Ver GitHub →

Sistemas relacionados

Continúa por una lógica de producto, prueba o dirección creativa relacionada.

Espacio interno de estrategia con IACampaign SandboxVer caso →Sistemas de IA / Flujo analíticoDataBrief AIVer caso →
Volver arriba

En otros sitios

  • GitHub
  • Instagram
  • LinkedIn
  • Unsplash
  • X / Twitter

Estudio

  • Sobre mí
  • Contacto
  • Disponibilidad

Servicios

  • Desarrollo Web y Experiencias Digitales
  • Integraciones IA para Sistemas Creativos
  • Sistemas de Marca y Dirección Creativa
  • Datos, Investigación e Inteligencia
  • Productos Digitales, IA y Prototipado
RaúlMermans©2026

Diseñado y desarrollado por Raúl Mermans.

Con base en Madrid

Abierto a proyectos y colaboraciones seleccionadas.

Política de privacidadTérminos del servicio