01 — CONTEXT
El contexto
Rocio.com es un portal sobre el Rocío con un archivo editorial que arranca en 1992: noticias, hermandades, sevillanas, vídeos y fotografía. Todo vivía en un WordPress con unos 15 años de historia.

02 — PROBLEM
El problema
El contenido existía, pero estaba atrapado. WordPress guardaba casi todo como pares clave-valor en texto: 320.093 filas de metadatos para lo que cabe en unas quince columnas por entidad, fechas guardadas como texto y miles de campos vacíos. Fuera de la búsqueda textual y la navegación manual, el archivo era prácticamente inaccesible.

03 — CONSTRAINTS
Las restricciones
- 01No perder contenido: más de tres décadas de archivo, 102 tablas en el volcado de producción.
- 02No perder enlaces: las URLs antiguas tienen que redirigir a su nuevo destino.
- 03Una sola persona aprueba lo que se publica: el sistema tiene que hacerlo sostenible.
- 04Respetar los derechos de terceros: nada capturado de redes se republica tal cual.
04 — SYSTEM
Qué decidí construir
Una plataforma propia en Nuxt 4 sobre MariaDB: un modelo de datos normalizado, un panel editorial propio, un asistente de IA que responde sobre el archivo y un radar que monitoriza las fuentes públicas del mundo rociero, con una capa editorial obligatoria antes de publicar nada.

05 — ARCHITECTURE
Arquitectura del sistema
SOFTWARE
Software
- Web pública en Nuxt 4 renderizada en servidor.
- Panel editorial propio para todo el contenido dinámico, migrado y nuevo.
- Historial de revisiones: una instantánea antes de cada guardado.
- Redirecciones 301 desde las URLs antiguas, apoyadas en el identificador heredado de cada contenido.
DATA
Datos
- Modelo normalizado con Prisma sobre MariaDB en lugar del esquema clave-valor de WordPress.
- Migración por procesos ETL a partir del volcado real de producción.
- Búsqueda con índices FULLTEXT y palabras vacías en español.
- MariaDB como única fuente de verdad para todo lo demás, incluida la IA.
AI / AUTOMATION
IA y automatización
- Asistente «Pregunta al archivo» sobre noticias, hermandades, sevillanas y eventos históricos.
- El índice vectorial es desechable: se reconstruye entero desde la base de datos sin perder nada.
- El proveedor vectorial queda aislado tras un contrato interno: cambiarlo no toca el resto del sistema.
- Visor interno de conversaciones con coste, latencia y valoraciones.
- Radar de 169 fuentes públicas en Facebook, Instagram, RSS, WordPress y web, con una cola de trabajos que sigue aunque se cierre el navegador.
- IA en el panel editorial para entradillas, redacción y mejora de artículos.

06 — DECISIONS
Decisiones importantes, y por qué
Normalizar antes de construir encima
Con 320.093 filas de metadatos en texto, cualquier funcionalidad nueva habría heredado el problema. Primero un modelo de datos limpio; después todo lo demás.
La base de datos manda; el índice de IA es desechable
Si cambia el proveedor o el modelo, el índice se regenera desde MariaDB. Ningún identificador de proveedor vive dentro del contenido editorial.
Nada ajeno se publica sin redacción propia
El radar archiva publicaciones de terceros. Publicar en la web exige al menos una señal de respaldo y una redacción propia, y el servidor lo comprueba. Cada imagen necesita una decisión expresa de derechos.
No sacar tendencias sin volumen
Con pocas conversaciones en el archivo, analizar tendencias produciría afirmaciones sin base. El análisis se pospone hasta que haya volumen suficiente.

07 — RESULT
Resultado
- Rocio.com funciona sobre la nueva plataforma, con el archivo histórico migrado.
- Asistente conversacional público sobre el archivo.
- Panel editorial propio y radar de fuentes con capa editorial para la redacción.
Sin cifras de negocio inventadas: lo que se muestra es lo que existe y está documentado.

08 — STACK
Stack técnico
- Nuxt 4
- Vue 3
- TypeScript
- Prisma
- MariaDB
- Tailwind CSS
- OpenAI
09 — SIMILAR PROBLEMS
Qué problema parecido puedo resolver
- →Tu web o plataforma arrastra años de contenido atrapado en WordPress u otro CMS.
- →Necesitas migrar sin perder contenido ni enlaces.
- →Quieres que tu archivo o tu conocimiento interno se pueda consultar en lenguaje natural.
- →Necesitas un panel editorial hecho para cómo trabaja tu equipo.
Este proyecto es un ejemplo de software a medida, datos e inteligencia y ia y automatización.
