Saltar al contenido
← Volver a proyectos
02

CBS ALERT MESH

Alerta temprana para un terremoto: ubicación y mensajes entre teléfonos cuando ya no hay red

Funciona sin cobertura
Colombia Tech WeekHackathon de 24 horas · Desarrollo de la app Android: geolocalización y comunicación sin internet · 2026
Ver sitio ↗Ver código ↗

En un terremoto la red móvil es lo primero que se cae, y es justo cuando hace falta. En 24 horas el equipo planteó un sistema de alerta temprana con tres piezas —el aviso, la ubicación de quien responde y la comunicación cuando ya no hay red— y yo me encargué de la app Android: las dos últimas. Un disparo remoto abre una pantalla de autorización en el teléfono; el gesto de la persona lanza a la vez una lectura GPS de un solo uso, un aviso al backend y una malla Bluetooth por la que los teléfonos cercanos se retransmiten mensajes entre sí. El aviso por internet y la malla son caminos independientes: la malla se enciende aunque el envío falle, porque quedarse sin red es exactamente el escenario para el que existe el canal directo entre teléfonos.

CÓMO FUNCIONA

  • 1Una notificación push abre la pantalla de autorización: la ubicación nunca sale sin el gesto de la persona
  • 2El gesto dispara una lectura GPS de un solo uso, que entrega una muestra y cierra el proveedor sin dejar procesos escuchando
  • 3El teléfono publica la alerta al backend, que la valida con zod estricto y la pinta en un mapa en vivo
  • 4En paralelo se enciende la malla Bluetooth: cada teléfono es servidor y cliente a la vez, y de cada pareja abre la conexión uno solo
  • 5Los mensajes se propagan por inundación con TTL: nadie conoce la topología, cada nodo repite una vez lo que oye por primera vez
  • 6171 tests unitarios y CI en GitHub Actions cubren el protocolo — presupuesto de 31 bytes del anuncio BLE, deduplicación y reenvío

STACK

KotlinAndroid BLENext.jsSupabaseFirebase Cloud MessagingVercel