GAIA: Transformando la clasificación temática en un producto independiente

GAIA es un sistema avanzado de clasificación temática y filtrado automático de textos, basado en tecnología desarrollada por UZEI. Su origen responde a una necesidad concreta: uno de los productos de ISEA, Tentu, requería una solución eficiente para la clasificación automática de textos según su temática.
Tras alcanzar el objetivo inicial, decidimos ampliar su alcance y convertir GAIA en un producto independiente, capaz de ofrecer sus servicios de clasificación a nuevos clientes. Para ello, diseñamos un ecosistema integral que combina diversas aplicaciones y herramientas tecnológicas, incluyendo:
- Aplicación Web: Construida con React y alojada en Firebase, esta interfaz permite a los usuarios gestionar sus claves de servicio de manera ágil y eficiente.
- Servicios REST: Implementados con Express.js y desplegados en Heroku, estos servicios facilitan la comunicación entre los clientes y la tecnología de UZEI.
- Firebase: Utilizamos la suite de herramientas de Firebase (autenticación, bases de datos no relacionales, almacenamiento estático y más) para garantizar la escalabilidad y el óptimo rendimiento del sistema.
Con GAIA consolidado como una solución robusta y funcional, el proyecto evolucionó aún más para perfeccionar su rendimiento y ampliar su impacto. Si deseas conocer más sobre su desarrollo y estructura, puedes explorar los detalles aquí.
Optimización del sistema de clasificación temática: Integración de Inteligencia Artificial
En las primeras etapas de desarrollo, la incorporación de nuevas temáticas al sistema era un proceso manual y poco eficiente. La selección de palabras clave para cada categoría dependía completamente del trabajo humano, lo que limitaba su escalabilidad y eficiencia operativa.
Durante mi formación en un máster de Inteligencia Artificial, identificamos la oportunidad de optimizar este proceso mediante el uso de IA. La solución propuesta permitió automatizar la selección de términos clave para cada categoría, reduciendo significativamente la intervención manual y fortaleciendo la escalabilidad del sistema.
La solución: un sistema automatizado e inteligente
El nuevo sistema fue diseñado para ir más allá de la simple selección de palabras clave, integrando un conjunto de herramientas que optimizan todo el proceso. Sus principales componentes son:

1. Recolector de textos
Un sistema automatizado que recopila diariamente noticias desde fuentes RSS predefinidas, clasificándolas según las categorías establecidas.
- Preprocesamiento: Se eliminan signos de puntuación, palabras sin relevancia (como preposiciones y conjunciones) y se lematizan los textos para mejorar la precisión del análisis.
- Balanceo de categorías: Se asegura una distribución equitativa de datos entre las categorías, evitando sesgos en el modelo de clasificación.
- Almacenamiento en la nube: Los datos procesados se almacenan en una infraestructura en la nube para su posterior uso en el entrenamiento del modelo.
2. Entrenamiento del modelo
Con los datos equilibrados, se evaluaron múltiples algoritmos para determinar la mejor opción. Aunque el entrenamiento se realizaba manualmente, se optimizó para que fuera un proceso rápido y eficiente. Los detalles técnicos completos están disponibles en el documento adjunto al final de esta sección.
3. Implementación y despliegue del modelo
Para facilitar la integración del modelo con clientes externos, se implementó la siguiente infraestructura:
- Desarrollo de una API con Flask para exponer el modelo como un servicio REST.
- Contenerización del sistema con Docker y despliegue en una plataforma con capacidad de autoescalado, asegurando un rendimiento óptimo ante cargas de trabajo variables.
Impacto y beneficios
Gracias a esta optimización, la carga de trabajo manual se redujo drásticamente y el proceso de incorporación de nuevas temáticas se aceleró significativamente. Ahora, la intervención humana se limita únicamente a la selección y clasificación de fuentes RSS, mientras que el resto del proceso es completamente autónomo.
Liderazgo y coordinación del equipo de desarrollo en ISEA
Tras completar las fases previas del desarrollo, asumí el desafío de coordinar el equipo de desarrollo de software en ISEA. Actualmente, el equipo está compuesto por tres desarrolladores y una diseñadora, con el objetivo de consolidar una metodología de trabajo eficiente y escalable.
Construyendo las bases de un equipo sólido y eficiente
Antes de mi incorporación, ISEA contrataba desarrolladores de forma puntual para proyectos específicos, lo que resultó en un ecosistema fragmentado, con aplicaciones desarrolladas en múltiples lenguajes y frameworks según las preferencias individuales. Esta falta de estandarización dificultaba el mantenimiento y la evolución del software.
Uno de mis primeros objetivos fue estandarizar el desarrollo bajo un único stack tecnológico. Optamos por Next.js, una elección que nos permitió:
- Consolidar conocimientos y especializar al equipo en una tecnología moderna y altamente demandada.
- Facilitar la integración de nuevos miembros, brindándoles una base de aprendizaje estructurada.
- Crear un entorno ideal para la formación de estudiantes en prácticas, en colaboración con la Universidad de Mondragón.
Optimización del despliegue y mantenimiento
La falta de una estrategia centralizada para el despliegue de aplicaciones generaba inconsistencias y ralentizaba la resolución de incidencias. Cada desarrollador utilizaba la solución que mejor se adaptaba a su flujo de trabajo, lo que complicaba el mantenimiento y diagnóstico de errores.
Para resolver esta situación, decidimos unificar todos los despliegues en Vercel, una plataforma emergente en aquel momento, pero con un enorme potencial para optimizar el proceso. Esta decisión trajo beneficios clave:
- Eliminamos los problemas recurrentes en los despliegues.
- Aumentamos la velocidad y eficiencia operativa.
- Reducimos significativamente los costes de mantenimiento.
Resultados y nuevos desafíos
Con un equipo consolidado, una infraestructura tecnológica optimizada y un flujo de trabajo eficiente, emprendimos el desarrollo de Evidence Box, un proyecto ambicioso que marcó un punto de inflexión en nuestra trayectoria.
Puedes conocer más sobre este proyecto en la siguiente sección.
Evidence Box

Evidence Box es un sistema integral diseñado para la grabación de evidencias con validez legal, compuesto por múltiples aplicaciones interconectadas.
Originalmente, el desarrollo de este sistema fue abordado por varias empresas, cada una a cargo de distintos componentes: aplicación web, aplicación de escritorio, VPN, servidor central, bases de datos, entre otros. Sin embargo, debido a circunstancias externas, estas empresas finalizaron su colaboración, dejando a ISEA con el reto de completar el sistema.
Además del desafío técnico, no se nos proporcionó acceso al trabajo previo, lo que nos obligó a reconstruir el sistema casi desde cero. Lo que inicialmente parecía un obstáculo insalvable, se convirtió en una oportunidad única para el aprendizaje y la innovación. Junto a mi equipo, afrontamos este reto con determinación, adquiriendo nuevas habilidades y dominando herramientas que hasta entonces desconocíamos.
A lo largo de un exigente proceso de desarrollo, conseguimos replicar y mejorar la mayor parte del sistema, con excepción de la aplicación móvil, que aún se encuentra en fase de optimización. El resultado es la siguiente arquitectura tecnológica:

Componentes principales y su funcionalidad
Dentro del ecosistema de ISEA, los siguientes elementos desempeñan un papel clave:
- Generadores de evidencias: La aplicación de escritorio, desarrollada en Electron.js, y la aplicación móvil, basada en Android, registran evidencias a través de grabaciones de pantalla, logs de tráfico de red, registros de interacción del usuario y una traza cronológica de eventos.
- Aplicación Web: Construida con Next.js y alojada en Vercel, esta plataforma permite a los usuarios contratar servicios, consultar evidencias generadas y descargar las herramientas necesarias para operar el sistema.
- Servidor central: Desarrollado en Express.js y desplegado en AWS, este backend complementa la aplicación web, gestionando procesos como el envío de notificaciones y la administración de certificados OpenVPN.
- VPN: Implementada con OpenVPN en AWS, garantiza la seguridad de las conexiones y previene ataques como el Man-in-the-Middle, asegurando la integridad de las evidencias generadas.
- Firebase: Utilizado para la autenticación de usuarios, almacenamiento de archivos y gestión de bases de datos no relacionales, permitiendo una infraestructura escalable y eficiente.
Además, integramos servicios externalizados para garantizar la validez legal y la integridad de las evidencias:
- Metaposta: Actúa como un "buzón y caja fuerte digital", almacenando el hash de cada evidencia generada, asegurando su integridad con validez legal.
- Certifaction: Utiliza tecnología blockchain para certificar la integridad de las evidencias mediante una firma digital y un sistema de timestamping.
- Camerfirma: Permite la aplicación de timestamping oficial, asegurando la validez legal de los documentos generados dentro del sistema.
A pesar de los desafíos iniciales, este proyecto representó una oportunidad inigualable para expandir nuestro conocimiento y capacidades. Sin experiencia previa en muchas de las tecnologías utilizadas, el equipo logró no solo reconstruir el sistema desde cero, sino también optimizarlo y adaptarlo a los más altos estándares de seguridad y usabilidad.
Evidence Box no es solo un sistema funcional, sino el reflejo de un proceso de aprendizaje acelerado, toma de decisiones estratégicas y una ejecución técnica sólida que ha permitido consolidar un producto de alto valor para el equipo.
Reflexión
Mi experiencia en ISEA ha sido un viaje lleno de retos, aprendizajes y logros significativos. A lo largo de estos años, he tenido la oportunidad de liderar proyectos técnicamente complejos y estratégicamente importantes, como la transformación de un servicio en un producto comercializable o el desarrollo de sistemas robustos con aplicaciones legales, como Evidence Box. Además, he sido responsable de preparar y superar con éxito múltiples auditorías técnicas del Ministerio para la Transformación Digital, asegurando el cumplimiento de altos estándares de calidad y tecnología.
Lo que inicialmente fueron problemas, como la falta de estándares en tecnologías o la necesidad de reconstruir sistemas desde cero, se convirtieron en oportunidades para establecer metodologías sólidas, optimizar procesos y fomentar un entorno de aprendizaje continuo. Esta experiencia me ha permitido consolidar mi capacidad para identificar problemas, proponer soluciones innovadoras y, lo más importante, implementarlas eficazmente con un equipo comprometido.
Hoy miro hacia el futuro con la certeza de que las habilidades y lecciones adquiridas en ISEA serán fundamentales para abordar los desafíos de cualquier nuevo proyecto. Mi motivación radica en seguir creciendo, explorando nuevas tecnologías y liderando iniciativas que no solo aporten valor a las organizaciones, sino que también inspiren a los equipos con los que colaboro.