Hace poco terminé de construir Sismicidad Ecuador, un panel interactivo que muestra la actividad sísmica reciente en el país. Lo comparto acá no solo porque me parece un dashboard bonito y útil, sino porque nació como una demostración práctica de otro proyecto mío: EcuDataMCP, el servidor MCP (Model Context Protocol) que construí para que asistentes de IA puedan consultar datos abiertos del Ecuador directamente, sin tener que navegar portales gubernamentales dispersos ni parsear CSVs a mano.
¿Qué hace el dashboard?
El panel consulta los eventos sísmicos reportados por el Instituto Geofísico de la Escuela Politécnica Nacional (IG-EPN) a través de EcuDataMCP, y los presenta en una consola con:
- Un mapa interactivo con los límites provinciales y cantonales reales del país (de geoBoundaries, CC0), no un contorno dibujado a mano.
- Una línea de tiempo de 29 días con la hora local de cada evento.
- Filtros por magnitud, profundidad, región y período, con una lista de eventos y un panel de detalle que se sincronizan con el mapa.
- Indicadores (KPIs) que reaccionan en vivo a los filtros aplicados.
Todo el frontend —el mapa, las proyecciones geográficas, la interactividad— está escrito en HTML, SVG y JavaScript puro, sin librerías externas ni backend. Es un solo archivo .html que puede abrirse tal cual.
Por qué importa: EcuDataMCP como base
La parte que más me interesa destacar es de dónde vienen los datos. En lugar de descargar un CSV una sola vez y dejarlo estático, el dashboard consulta el feed de eventos del IG-EPN a través de EcuDataMCP —el mismo servidor que expone censos, encuestas de hogares, el registro de compañías, contratos públicos y otros registros administrativos del Ecuador como herramientas estructuradas y consultables para asistentes de IA. Sismicidad Ecuador es, en el fondo, una prueba de que ese servidor sirve para algo más que responder preguntas sueltas: puede alimentar aplicaciones reales.
Una nota honesta sobre “en vivo”
El feed público del IG-EPN retiene aproximadamente 30 días de eventos, sin acceso a un histórico más largo. Esto significa que el dashboard muestra una fotografía reciente y actualizable, no un stream permanente sin intervención: para mantenerlo al día haría falta un paso periódico de recarga y redeploy que, por ahora, no he automatizado. Prefiero decirlo con claridad a dejar la impresión de algo más “vivo” de lo que realmente es.
Construido con Claude Code
Todo el desarrollo —desde el primer boceto hasta el rediseño final de la interfaz, pasando por la descarga y simplificación de las geometrías de geoBoundaries— lo hice con Claude Code, iterando en varias rondas de diseño hasta llegar a algo que se sintiera como un producto real y no como un dashboard genérico. Es parte de mi interés actual en aplicaciones de IA para análisis económico y de datos, que menciono en mi página principal.
Pruébalo
También está embebido en mi página de dashboards, junto con otros proyectos de visualización de datos.