SkyMind: El Observatorio Aéreo Inclusivo
Inspiration
Nuestra inspiración nació del reto de monitorear el tráfico aéreo: los datos de vuelos son fríos, técnicos e intimidantes. Vimos una oportunidad no solo de visualizar datos, sino de humanizarlos. ¿Por qué un dashboard de tráfico aéreo no puede ser tan fácil de usar como preguntarle a un asistente de voz?
Quisimos crear una plataforma, SkyMind, que fuera verdaderamente inclusiva. Buscamos transformar la complejidad de la aeronáutica en conocimiento accesible para cualquier persona, desde un entusiasta de la aviación hasta un familiar esperando una llegada, resolviendo la barrera del conocimiento técnico.
What it does
SkyMind es una plataforma de observabilidad aérea de dos capas:
El Dashboard Visual: Muestra un mapa en tiempo real (React) con todos los vuelos activos sobre la CDMX, alimentado por la API de OpenSky. Los usuarios pueden hacer clic en un vuelo para ver detalles técnicos (velocidad, altitud, modelo) y gráficos de evaluación de estado en tiempo real.
El Asistente de IA (El "Mind"): Aquí es donde ocurre la magia, convirtiendo datos en diálogo:
Agente Explicativo: Usando Google Gemini, un agente de IA analiza los datos técnicos de un vuelo y genera un resumen en lenguaje sencillo. Es capaz de explicar conceptos complejos (como "squawk" o "altitud de presión") a personas sin conocimiento aeronáutico.
Chatbot Conversacional: Un chatbot, también potenciado por Google Gemini, permite a los usuarios preguntar en lenguaje natural sobre el estado de los vuelos, horas de llegada, o cualquier duda ("¿Hay algún problema con el vuelo de Aeroméxico?"), obteniendo respuestas instantáneas.
Monitor Auditivo: Integrado con ElevenLabs, el sistema da "voz" a la data. Las alertas críticas detectadas por Zabbix (ej. 'API de OpenSky caída') se anuncian por audio en tiempo real, y los resúmenes de la IA se pueden reproducir, haciendo la app accesible e inclusiva.
How we built it
Construimos SkyMind sobre una arquitectura moderna y escalable, integrando lo mejor de cada patrocinador:
Infraestructura: Todo nuestro backend y la base de datos Postgres se ejecutan en instancias de nube de alto rendimiento en Vultr. Esto nos dio la velocidad y confiabilidad necesarias para el procesamiento en tiempo real.
Backend: Un script en Python consulta la API de OpenSky y puebla nuestra base de datos. Un servidor (Node.js) se conecta a esta base de datos y sirve los datos al frontend a través de WebSockets (Socket.io) para una interactividad instantánea.
Frontend: Una aplicación en React (creada con Vite) usa Leaflet para renderizar el mapa y los marcadores de aviones.
Observabilidad: Integramos Zabbix Cloud para monitorear componentes críticos: el estado de la API de OpenSky, la tasa de inserción en nuestra BD Postgres, y la salud de nuestro script de polling. Las alertas se envían vía webhooks a nuestro backend.
IA y Voz: Las solicitudes del frontend se envían a la API de Google Gemini para el análisis y generación de texto. Este texto (y las alertas de Zabbix) se pasan a la API de ElevenLabs para generar el audio dinámico.
Challenges we ran into
El desafío más grande fue, sin duda, el rate limiting de la API pública de OpenSky. Al ser un servicio gratuito, nos bloqueaba (Error 429) constantemente, incluso durante las pruebas. Lo resolvimos implementando un sistema de caché robusto en nuestro backend (con flight-cache.json), sirviendo datos desde el caché cuando la API no estaba disponible y garantizando así un 100% de uptime para el usuario.
Otro reto fue la comunicación en tiempo real de Zabbix. Lograr que una alerta de Zabbix Cloud se reflejara instantáneamente como audio en la app de React requirió una arquitectura de Webhook → Servidor (Node.js) → WebSocket, que fue compleja de diseñar y depurar.
Accomplishments that we're proud of
Estamos increíblemente orgullosos de haber construido un sistema de monitoreo auditivo. Escuchar las alertas de Zabbix leídas por ElevenLabs se siente como ciencia ficción y cumple nuestro objetivo de accesibilidad.
También nos enorgullece el agente de IA de Gemini; transforma un dashboard de "expertos" en una herramienta que nuestros amigos y familiares pueden entender y usar. Logramos un sistema completo, desde el monitoreo de infraestructura (Zabbix) hasta una experiencia de usuario final de IA (Gemini), todo desplegado en la nube de Vultr.
What we learned
Este fue nuestro primer "deep dive" en plataformas de infraestructura y observabilidad. Aprendimos a desplegar aplicaciones de alto rendimiento en Vultr desde cero, yendo más allá de un simple localhost.
Integrar Zabbix Cloud no fue solo "marcar una casilla"; aprendimos a usar webhooks para hacer que un sistema de monitoreo sea una parte activa y visible de la aplicación, en lugar de un simple dashboard pasivo. También reforzamos la importancia de la resiliencia (nuestro sistema de caché) al tratar con APIs de terceros.
What's next for SkyMind
SkyMind tiene un potencial enorme. El siguiente paso es integrar más fuentes de datos, como el clima en tiempo real, para que nuestro agente de Google Gemini no solo informe, sino que prediga posibles retrasos. También queremos expandir el monitoreo de Zabbix para medir la latencia de las respuestas de la IA y optimizar la experiencia del usuario, todo escalando nuestra infraestructura en Vultr.
Built With
- elevenlabs
- gemini
- github
- opensky
- postgresql
- python
- vite
- vultr
- zabbix
Log in or sign up for Devpost to join the conversation.