DEV Community

Axlfc
Axlfc

Posted on

Connect AI: Construyendo Soberanía Digital desde Tarragona

Una plataforma cívica federada, IA local híbrida, y la arquitectura de un sistema que nadie pidió pero que alguien tenía que hacer.

Hay un tipo específico de soledad que viene de construir algo que nadie pidió. Lo haces igualmente.

Hay un tipo específico de soledad que viene de construir algo que nadie pidió. Lo haces igualmente.

Hay proyectos que nacen de una necesidad de mercado. Hay proyectos que nacen de un brief corporativo. Y luego hay proyectos que nacen de esa sensación incómoda de saber exactamente qué debería existir y constatar que no existe.

Connect AI pertenece al tercer grupo.

Durante dos años he estado construyendo silenciosamente la infraestructura digital que desearía que hubiera existido cuando empecé a pensar en serio sobre soberanía digital, comunidad local, y qué significa realmente que una plataforma "sea tuya". Este artículo es el mapa de lo que he construido, por qué, y - más importante - cómo funciona por dentro.


El Problema que Nadie Nombra Correctamente

Cuando hablamos de privacidad digital, solemos quedarnos en la superficie: cookies, GDPR, contraseñas fuertes. Pero el problema estructural es anterior y más profundo.

Las plataformas que usamos para organizarnos como comunidad no son nuestras.

Los foros de tu ciudad están en Reddit o Facebook. Tus mensajes vecinales viajan por servidores en Virginia o Irlanda. Las notificaciones del ayuntamiento las gestiona una empresa SaaS que puede cambiar sus términos de servicio y de privacidad o ser compradas (y destrozadas) por Google mañana. La infraestructura del discurso cívico está, de facto, privatizada y externalizada.

Connect AI parte de una premisa diferente: ¿y si la infraestructura digital de una comunidad pudiera ser tan soberana como sus instituciones físicas?

No es utopía. Es arquitectura.


Qué Es Connect AI (Y Qué No Es)

Connect AI (tc) es una plataforma cívica institucional de escala. En términos técnicos: una aplicación web full-stack con gestión de proyectos, chat federado, IA contextual híbrida, foros temáticos, ERP público de transparencia, y un sistema multi-agente de 39 agentes especializados que orquestan 73 primitivas funcionales.
En términos humanos: es la plataforma que querría usar un ciudadano de Tarragona - o de cualquier ciudad - para informarse, comunicarse, organizarse y fiscalizar a sus instituciones, sin que eso implique entregar sus datos a una corporación americana.

Lo que no es:

  • No es una red social más compitiendo por atención fragmentada.
  • No es un proyecto de blockchain disfrazado de civismo.
  • No es un sustituto del ayuntamiento, sino un complemento que le exige transparencia.
  • No es para todo el mundo. Es para quien entiende por qué importa.

La Arquitectura: Connect Core como Motor

Antes de hablar del frontend y la UX, hay que hablar del stack que hace posible todo lo demás. Connect Core (cognito-stack) es el motor desacoplado, containerizado y auto-hosteable que sustenta la plataforma.

Stack Técnico Confirmado

Frontend: Next.js 15.5 (App Router) + React 18 + Tailwind + Zustand
Backend: Next.js Server Actions + API Routes
Base de datos: PostgreSQL via Supabase (RLS, Realtime, Storage)
Auth: Magic Link (email) + idCAT/OIDC (identidad catalana premium)
Chat: Matrix protocol via matrix-js-sdk → Synapse local (Fase 4)
IA: Gemini/Genkit (Cloud) ↔ Ollama (Local) - arquitectura híbrida
Workflows: n8n (automatización de procesos)
Vectores: Qdrant (RAG y búsqueda semántica)
Imágenes: ComfyUI (generación local)
I18n: i18next - Catalán primero, con ca/es/en/zh
Observab.: Prometheus + Grafana + Loki + Tempo

Todo esto corre en Docker Compose. Un servidor, una razón, y tienes tu propia instancia soberana.

Por Qué Cada Pieza

Next.js 15 con App Router no es una elección por moda. La coexistencia de Server Actions y API Routes permite construir la lógica de servidor sin cambiar de framework, manteniendo el bundle del cliente mínimo y el renderizado incremental en el servidor. Con un objetivo de 4 millones de usuarios, cada kilobyte cuenta.

Supabase sobre PostgreSQL resuelve el trilema clásico del backend propio: te da base de datos relacional real con Row Level Security (las políticas de acceso viven dentro de la base de datos, no en el código de aplicación), Realtime vía WebSockets para chat y notificaciones, y Storage para archivos, todo con un overhead operativo mínimo en las fases iniciales. La alternativa - un backend custom desde cero - habría tardado meses en alcanzar el mismo nivel de robustez.

Matrix como protocolo de chat es la decisión más ideológica del stack, y también la más técnicamente sólida. Matrix es un protocolo abierto y federado: tu servidor de chat puede comunicarse con cualquier otro servidor Matrix del mundo, exactamente como el email. Empezamos federando con matrix.org. En la Fase 4, desplegaremos un homeserver Synapse propio en Tarragona, con soberanía total sobre los datos de comunicación de los usuarios.

La comparativa relevante no es Matrix vs. Slack o Discord. Es Matrix vs. el modelo donde una empresa decide mañana que cierra tu comunidad. Con Matrix, el protocolo es tuyo aunque la empresa que lo mantiene desaparezca.

Ollama + Gemini: La IA Híbrida
Esta es quizás la decisión arquitectónica más interesante del proyecto, y la que más directamente confronta el discurso dominante sobre IA.

La arquitectura de dos niveles funciona así:

  • Nivel Local (Ollama): Tareas que involucran datos sensibles o privados del usuario - resúmenes de documentos personales, análisis de mensajes de chat, extracción de información de expedientes - se procesan en el propio servidor o dispositivo del usuario. Cero datos a terceros.
  • Nivel Cloud (Gemini/Claude): Tareas complejas que requieren razonamiento avanzado o modelos de lenguaje de última generación se delegan a la nube, pero sin datos PII.

El resultado: privacidad sin sacrificar capacidad, y un presupuesto de costos de IA que no explota en producción.


El Sistema Multi-Agente: 39 Agentes, 73 Primitivas

Esta es la parte que más gente pasa por alto cuando habla de "IA en apps". No es un chatbot con acceso a herramientas. Es una arquitectura de orquestación.

P01_Orchestrator (el agente principal, el que interactúa con el usuario) coordina 38 agentes especializados agrupados en capas:

  • Función Coordinación (P01-P05): Gobierno, calidad, conocimiento, políticas
  • Servicios Urbanos (P06-P13): Movilidad, medioambiente, seguridad, ciudadanía
  • Administración (P14-P21): Documentos, RRHH, finanzas, contratación, legal
  • Datos (P22-P27): Integración, analytics, API Gateway, calidad de datos
  • Seguridad (P28-P33): Monitor, identidad, cifrado, GDPR, ENS, backup
  • Soporte Técnico (P34-P39): DevOps, monitorización, helpdesk, DBA, red, QA

Las 73 primitivas son las operaciones atómicas que componen cualquier flujo de trabajo. Desde Capturar conocimiento (P01) hasta Gamificar participación (P68-P73), pasando por Autenticar (P15), Ejecutar proceso (P24), o Predecir tendencias (P64).

La regla de oro del sistema: implicar el mínimo de agentes necesario. Complejidad bajo demanda, no por defecto.

Modos de Operación

El asistente de la plataforma opera en tres modos claramente diferenciados:

  • 💬 Parlar (Conversar): Consultas, contexto, redacción. La IA responde texto, no ejecuta acciones sobre datos.
  • 🗂️ Planejar (Planificar): Workflows multi-paso, decisiones arquitectónicas. La IA propone un plan con validación humana en los puntos críticos.
  • 🤖 Agent (Agente): Acciones directas sobre módulos reales - CRUD, navegación, automatización - . Pide confirmación solo si la acción es destructiva o ambigua.

Esta distinción no es cosmética. Define la frontera entre un asistente de información y un sistema que actúa en nombre del usuario, con todas las implicaciones de auditoría y responsabilidad que eso conlleva.


logo


Los Módulos de la Plataforma

Connect AI no es una feature, es un sistema operativo cívico. Los módulos actuales:

Gestión Personal

  • Notes & Editor: Notas organizadas en bibliotecas, con etiquetado, duplicado y búsqueda semántica.
  • Tareas: CRUD completo, subtareas, prioridades, fechas límite, proyectos asociados.
  • Contactos: Con exportación a CSV y búsqueda por organización.
  • Correo: Redacción, borradores, resúmenes, organización por prioridad.

Comunicación

  • Chat Matrix: Salas federadas. Historial persistente. Moderación. Salas masivas (#tarragona con miles de concurrentes en Fase 4).
  • Foros temáticos: Organizados en 7 grandes verticals - Ciencia & Educación, Tecnología & Innovación, Sostenibilidad, Salud, Economía, Arte & Humanidades, Política & Gobernanza - con más de 50 subforos específicos.

Transparencia Institucional

  • ERP Público: Consulta, búsqueda y exportación de licitaciones, presupuestos y datos de transparencia municipal. v1: solo lectura. Transacciones: futuro.
  • Pipeline de Datos Abiertos: Conectores a APIs de ayuntamientos y Generalitat. No scraping.

IA Contextual

  • Asistente / Prompt: Con contexto de plataforma inyectado. Conoce tus notas, tareas y documentos.
  • Storyboard: Módulo en definición para flujos narrativos asistidos por IA.

Sistema

  • Dashboard con Widgets (Ginys): Personalizable, con lazy loading y budget de 50kb por widget.
  • Historial y Auditoría: Trazabilidad completa de acciones. Inmutable. Retención 7 años (ENS).
  • Espacio Personal: Diferenciado del perfil público. Definición pendiente.
  • Configuración: Tema claro/oscuro, idioma (ca/es/en), notificaciones.

Cumplimiento Normativo: No es un Afterthought

Trabajar cerca de las instituciones enseña una cosa sobre infraestructura pública: el cumplimiento normativo no es una casilla a marcar al final. Es una restricción de diseño desde el primer día.
Connect AI se construye con cuatro marcos normativos como restricciones de arquitectura:

  • ENS Alto (Esquema Nacional de Seguridad): 75 controles. Clasificación de datos CRÍTIC > CONFIDENCIAL > INTERN > PÚBLIC.
  • RGPD: Seudonimato por defecto. Nunca exponer PII sin base legal explícita. Flujo de derechos ARCO (❤0 días legales, WF04 automatizado).
  • ENI (Esquema Nacional de Interoperabilidad): Formatos abiertos. Expedientes electrónicos. Exportación en estándares NTI.
  • eIDAS: Identidad digital europea. Integración con idCAT para la firma y autenticación de nivel premium.

Lo concreto: los datos CRÍTICOS nunca van a SaaS externos. Cifrado AES-256 obligatorio. Audit log inmutable con formato timestamp_utc · agent_id · primitive_id · user_id_hashed · resource · action · outcome.

Cuando un sistema de IA actúa sobre datos de ciudadanos, la auditoría no es opcional. Es la diferencia entre una plataforma cívica y un experimento irresponsable.


El Roadmap: Cuatro Fases hacia 4 Millones de Usuarios

Fase 1 - Foundation (Ahora)

El backend real. Supabase + PostgreSQL. Auth híbrid (Magic Link + idCAT). Migración progresiva de los ~20 stores de Zustand que actualmente viven en localStorage a la base de datos. Localización completa con i18next: cero strings hardcoded.

Fase 2 - UGC & Social

Chat Matrix real (sustituyendo la simulación actual con matrix-js-sdk real). Motor de contenido UGC para los primeros verticals de tráfico: Deportes, Defunciones -sí, las esquelas generan millones de visitas en medios locales-. Foros conectados a identidad real.

Fase 3 - Public Data & ERP

Pipeline de datos abiertos. Visualización del ERP Público. Herramientas de exportación en formatos abiertos. Es la fase donde la plataforma deja de ser solo una red social y empieza a ser infraestructura de transparencia.

Fase 4 - Optimization & Scale

Synapse local en Tarragona. Ollama para modelos locales de privacidad. Arquitectura para salas masivas concurrentes. Auditoría WCAG 2.1 AA completa. Bundle budgets (50kb por widget). Esta es la fase donde el sistema tiene que aguantar de verdad.


Lo Que Falta y Lo Que He Aprendido

Construir en soledad enseña cosas que el trabajo en equipo a veces enmascara.
Lo que falta (honestamente):

  • El backend real todavía no existe. Todo corre en localStorage y autenticación mock con dos usuarios llamado "paco" y "marina". La Fase 1 existe para corregir exactamente eso.
  • Matrix está simulado. El chat funciona visualmente, pero las salas son locales.
  • El ERP Público devuelve datos ficticios. La integración con APIs reales de transparencia es trabajo pendiente.
  • La IA contextual tiene función calling documentada pero no completamente implementada sobre los stores.

Esta transparencia no es autocrítica performativa. Es parte del contrato con quien quiera usar o contribuir al proyecto. El SECURITY_AUDIT.md, el CONFLICTS.md y el OPEN_QUESTIONS.md existen públicamente porque ocultar el estado real de un proyecto "para que parezca más terminado" es exactamente lo contrario de lo que Connect AI intenta ser.
Lo que he aprendido:
Que la arquitectura de un sistema que aspira a ser soberano es fundamentalmente diferente a la arquitectura de un producto que aspira a escalar rápido. Las decisiones técnicas son también decisiones políticas. Elegir Matrix sobre Slack es elegir federación sobre conveniencia. Elegir Ollama sobre GPT-4 para datos sensibles es elegir privacidad sobre capacidad máxima. Elegir PostgreSQL con RLS sobre Firebase es elegir que las políticas de acceso vivan en la base de datos, no en el goodwill de una empresa.
Cada pieza del stack es una posición sobre cómo debería funcionar la infraestructura digital pública.


Cómo Contribuir (o Solo Mirar)

Los repositorios son públicos:

Si tienes experiencia en cualquiera de estas áreas y el proyecto te parece interesante: Supabase/PostgreSQL, Matrix/Synapse, Next.js 15 con App Router, n8n, Qdrant, Ollama, o simplemente infraestructura de plataformas cívicas en Europa, la puerta está abierta.

No busco inversión. Busco colaboradores que entiendan por qué esto importa.


Conclusión: La Infraestructura es el Mensaje

El medio es el mensaje. - Marshall McLuhan

En infraestructura digital, la arquitectura es el mensaje.
Cuando una comunidad organiza su vida cívica a través de plataformas que no controla, está delegando implícitamente el poder de definir qué conversaciones son posibles, qué datos se conservan y qué se puede apagar. La infraestructura no es neutra.
Connect AI no es una respuesta perfecta a ese problema. Es una respuesta honesta, técnicamente fundamentada, y construida con la convicción de que vale la pena intentarlo aunque no haya ninguna garantía de que funcione.


La habitación está abierta.

La habitación está abierta.


Axl F C es desarrollador independiente. Trabaja en la intersección de infraestructura local, IA soberana y plataformas cívicas.
GitHub: https://github.com/Axlfc · Mastodon: https://mastodon.social/@axlfc

Top comments (0)