next-jsreactaitransparencia

Clariscore.eu Índice de transparencia para ayuntamientos (SaaS)

By Noel Barral
Picture of the author
Published on
Duración
4 meses
Rol
Tech Lead & Product (Next.js 14 + Auditoría de datos)
Stack
Next.js 14 · TailwindCSS · PostgreSQL · Supabase · Playwright · OpenAI API
Captura hero Clariscore desktop

¿Por qué nace Clariscore?

Muchos ayuntamientos afirman ser “transparentes”, pero no existe un indicador operativo y continuo que mida si su portal de transparencia:

  • publica lo obligatorio,
  • está actualizado,
  • es accesible y rastreable,
  • ofrece datos abiertos reutilizables, y
  • facilita la rendición de cuentas a la ciudadanía.

Clariscore es un índice vivo que audita portales municipales de forma automatizada y les asigna una puntuación 0–100, desglosada por dimensiones y evidencias verificables. Piensa en un PageSpeed de la transparencia + guía/ranquin con sello y premios.


Qué mide el Clariscore (dimensiones)

  1. Cumplimiento legal (publicaciones obligatorias: organización, contratos, presupuestos, actas, retribuciones…).
  2. Actualización (frecuencia de publicación y caducidad de la información).
  3. Accesibilidad (WCAG, contraste, etiquetas, PDF accesibles).
  4. Indexabilidad (robots, sitemap, metadatos, enlaces rotos).
  5. Datos abiertos (formatos reutilizables, licencias, API).
  6. Usabilidad/Búsqueda (navegación, buscador, tiempos de respuesta).
  7. Contratación y subvenciones (trazabilidad y descarga).

Cada hallazgo se respalda con evidencias (URLs, capturas, hashes) y un rationale IA explicable.


Problemas que resuelve

Problema actualCómo lo soluciona Clariscore
Declaraciones genéricas de “portal cumplidor” sin pruebasScore 0–100 con evidencias y ficha de incumplimientos por norma/categoría
Desactualización crónica y enlaces rotosMonitoreo periódico + alertas y histórico temporal por indicador
PDFs no accesibles / datos en formatos cerradosAuditoría de accesibilidad + validador de formato y licencia
Dificultad para comparar ayuntamientosRanking por provincia/tamaño y benchmarks por dimensión
Falta de incentivos para mejorarSello Clariscore y Premios Clariscore anuales por categoría
Imposible integrar resultados en sistemas externosAPI/Export (JSON/CSV) y webhooks para portales municipales

Módulos principales

MóduloDescripción breveEstado
Crawler & EvidenceRastreo con Playwright; captura evidencias (URL, DOM, hash, screenshot)
Rules EngineReglas de cumplimiento por norma/categoría (checklists parametrizables)
Accessibility AuditWCAG automática (aria, contraste, headings, PDFs etiquetados)
Open Data CheckerDetección de formatos, licencias, actualización y presencia de APIs
Index & LinksSitemap/robots, enlaces rotos y canonicalización
AI ExtractorExtracción asistida (actas, presupuestos, contratos) con explicabilidad🧪
Ranking & BadgesCálculo de Clariscore global y por dimensión + emisión de Sello Clariscore
Dashboard & ReportsPanel comparativo, evolución temporal y informe PDF/JSON descargable
NotificationsAlertas por caída de secciones o cambios críticos🔄
Public APIConsulta del índice, evidencias y histórico🔄

Demo del proyecto

La demo pública muestra:

  • Ranking Clariscore por provincia y tamaño del municipio.
  • Ficha de cada ayuntamiento con score por dimensión, evolución 90 días y evidencias.
  • Checklist de cumplimiento (qué hay, qué falta y por qué).
  • Simulación de impacto: “si solucionas X e Y, +12 puntos en el índice”.

Próximos pasos de la demo: publicar dataset abierto con los 50 primeros municipios y habilitar Sello Clariscore embebible.


Arquitectura técnica

graph LR;
  Scheduler[[Scheduler]]
  Scheduler --> Crawler[Playwright Crawler]
  Crawler --> Evidence[(Storage: evidencias, capturas)]
  Crawler --> Rules[Rules Engine]
  Rules --> Score[Clariscore Calculator]
  Crawler --> AI[AI Extractor (OpenAI)]
  AI --> DB[(PostgreSQL)]
  Score --> DB
  Evidence --> DB
  DB --> Realtime[Supabase Realtime]
  Realtime --> App[Next.js 14 (App Router)]
  App --> API[/Public API & Webhooks/]



Únete a mi newsletter

Comparto experiencias y aprendizajes
Artículos, enlaces y noticias relacionadas con el desarrollo web entregados de vez en cuando en tu bandeja de entrada, no spam. No te preocupes, no te voy a molestar.