Guardian Grid SF

Repositorio de GitHubPublicación de LinkedIn
Video de DemostraciónDetalles del Hackathon

Acerca de

Guardian Grid (SF) es una herramienta de evacuación de emergencia para ciudades inteligentes que ayuda a las comunidades a responder rápida y seguramente durante desastres importantes. El sistema permite a los administradores de la ciudad o funcionarios de emergencia marcar zonas de peligro, como áreas afectadas por desastres naturales, y definir zonas seguras directamente en un mapa interactivo. Se utilizan algoritmos avanzados de búsqueda de rutas para generar y comunicar las rutas de evacuación más seguras para los residentes, teniendo en cuenta los peligros actuales.

Cuando ocurre una emergencia, los funcionarios pueden actualizar las áreas de peligro y seguras y enviar inmediatamente alertas a los teléfonos de los residentes a través de mensajes de texto. Cada persona recibe un enlace a un portal web, que utiliza su ubicación actual para mostrar una ruta consciente del peligro hacia la seguridad y proporciona direcciones instantáneas con Google Maps. A medida que las situaciones evolucionan, las rutas se recalculan en tiempo real y se envían nuevas alertas para mantener a todos actualizados y seguros. Mira la demostración aquí:

En el código de demostración actual, las alertas se envían por SMS a un solo número de teléfono con fines de demostración y prueba. Sin embargo, en un despliegue real, Guardian Grid SF se integraría con el sistema de Alertas de Emergencia Inalámbricas (WEA) para transmitir alertas de evacuación a todas las personas en la ciudad o región afectada.

Mientras que el enfoque actual está en el Área de la Bahía de San Francisco, nuestra visión es expandir Guardian Grid a otras ciudades importantes alrededor del mundo. Nuestro objetivo es proporcionar un sistema robusto para evacuaciones coordinadas y basadas en datos, de modo que cada ciudad pueda proteger a su gente, minimizar la congestión y responder rápidamente a medida que se desarrollan las emergencias.

Equipo Aspen

Guardian Grid fue desarrollado por el Equipo Aspen en el Hackathon de Seguridad Nacional. Nuestro equipo estuvo compuesto por:

Estamos agradecidos por la orientación y el apoyo de nuestros mentores y organizadores, incluidos Elliott Wolf, Adam Papa y Ray Del Vecchio.

Nuestro Viaje en el Hackathon

El fin de semana del hackathon del 26-27 de abril de 2025 reunió una colaboración inesperada pero poderosa. Mi buen amigo Dylan Eck y yo viajamos desde Colorado y Missouri respectivamente para participar en el 2º Hackathon de Seguridad Nacional de Cerebral Valley en San Francisco. En el inicio del evento, conocimos a Christina Huang y Ioana Munteanu, y nació el Equipo Aspen.

Publicación de LinkedIn

Publicación de Ioana en LinkedIn destacando nuestra experiencia en el hackathon

El hackathon presentó dos desafíos distintos. La pista principal fue una competencia basada en proyectos con premios de colocación tradicionales, mientras que un desafío especial invitó a los participantes a hackear éticamente los sistemas de refrigeración de Code Metal. Dada la diversa experiencia de nuestro equipo, particularmente el trasfondo de Dylan en ingeniería de software y mecánica, tomamos la decisión estratégica de abordar ambos desafíos dentro del plazo de 24 horas.

Este enfoque ambicioso condujo a dos resultados significativos:

  1. Guardian Grid (SF) - Nuestro proyecto principal del hackathon se centró en la evacuación de emergencia:

  2. Desafío Code Metal - Logramos la prueba de penetración más exitosa de sus sistemas de refrigeración, lo que llevó a nuestra victoria con un premio especial de $5,000. Aunque esta solución permanece confidencial, demostró la profundidad técnica de nuestro equipo en sistemas de software y termodinámicos.

Aunque Guardian Grid no logró un puesto entre los tres primeros en la competencia principal, los jueces reconocieron su potencial impacto y enfoque innovador. El alcance del proyecto fue ambicioso, y dividir nuestro enfoque entre dos desafíos significó que no pudimos implementar todas nuestras características previstas dentro de la limitación de tiempo. Sin embargo, los comentarios de los jueces validaron la importancia de nuestra solución para abordar la gestión de emergencias urbanas.

El hackathon resultó ser una experiencia transformadora. Más allá de los logros técnicos y el premio en dinero, fomentó nuevas amistades y demostró el poder de conjuntos de habilidades diversas que se unen bajo presión. Después de enfrentar desafíos personales a finales de 2024 y principios de 2025, este éxito fue particularmente significativo y revitalizante.

Detalles del Hackathon

Guardian Grid (SF) fue construido en el 2º Hackathon de Seguridad Nacional anual (26-27 de abril de 2025), organizado por Cerebral Valley y Shield Capital en asociación con Stanford DEFCON. El evento reunió a tecnólogos e ingenieros para construir soluciones para declaraciones de problemas de seguridad nacional curadas por partes interesadas militares de EE. UU., con la orientación de mentores del gobierno, militares y startups.

  • El fin de semana incluyó una feria de carreras de tecnología de defensa y actividades de formación de equipos en la Universidad de Stanford, seguidas de 24 horas de hackeo en San Francisco.
  • Los patrocinadores y apoyadores incluyeron a Shield Capital, In-Q-Tel, NATO Innovation Fund, Vannevar Labs, Scale AI, Groq, Windsurf, Anthropic, Microsoft, Maxar, Dedrone, Distributed Spectrum y Code Metal.
  • Las categorías del hackathon incluyeron Ciudades Inteligentes, Juegos de Guerra, Análisis de Patrones Marítimos, Ciberseguridad para Despliegues de IA, Navegación por Radiofrecuencia, Seguridad Nacional General y Hackear un Sistema de Refrigeración.

La sección principal del hackathon tenía premios que incluían $3,000 y unidades de Starlink para el primer lugar, $2,000 para el segundo lugar y $1,000 para el tercer lugar. Pero había un premio especial, oculto, para un desafío de refrigeración con un premio de $5,000.

Nuestro equipo participó en los desafíos de Ciudades Inteligentes y Hackear un Sistema de Refrigeración. Guardian Grid (SF) fue nuestra entrada en Ciudades Inteligentes. Ganamos un Premio Especial de $5,000 y Mención Honorífica por nuestro trabajo técnico en el desafío de refrigeración, y nuestra solución de Ciudades Inteligentes recibió comentarios positivos de jueces y compañeros por igual.

Los jueces y compañeros reconocieron a Guardian Grid (SF) como una respuesta impactante a un problema significativo en la gestión de emergencias, elogiando su creatividad, enfoque práctico y el hecho de que evitó simplemente usar tecnología LLM como una solución universal. Aunque nuestro proyecto de Ciudades Inteligentes no ganó un premio entre los tres primeros debido a las limitaciones de tiempo por dividir recursos entre dos desafíos, los jueces quedaron impresionados por su potencial y relevancia. Nuestro equipo se sintió honrado de recibir este reconocimiento junto con la victoria en el desafío de Hackear un Sistema de Refrigeración.

Encuentra más detalles y reflexiones en nuestra publicación de LinkedIn y consulta la galería de fotos del hackathon aquí.

Fuentes de Datos GPS

Para nuestra búsqueda de rutas y mapeo en el Área de la Bahía de San Francisco, requerimos datos viales precisos y completos. Inicialmente experimentamos con la API de Google Maps y la API de Mapbox para recuperar estos datos. Sin embargo, sus restricciones de licencia y limitaciones funcionales nos impidieron obtener o usar el gráfico de enrutamiento subyacente de una manera que coincidiera con nuestros objetivos del hackathon. Debido a estas limitaciones, utilizamos conjuntos de datos geográficos abiertos. Obtuvimos estos datos geográficos en bruto a través de estas dos fuentes de código abierto:

Las características lineales representan las vías para la Región de la Bahía de San Francisco. El conjunto de características se ensambló utilizando todos los shapefiles TIGER/Line de 2021 basados en condados por la Comisión Metropolitana de Transporte (MTC/ABAG). El conjunto de datos incluye todas las carreteras primarias, secundarias, locales de vecindario y rurales, calles de la ciudad, senderos vehiculares, rampas, caminos de servicio, callejones, caminos privados, carriles para bicicletas, senderos para caballos, pasarelas, senderos peatonales y escaleras para toda la región.

  • El conjunto de características contiene segmentos de carretera únicos para cada condado e incluye casos donde un solo tramo de carretera tiene múltiples designaciones (por ejemplo, una interestatal llamada por su número y nombre local).
  • Las carreteras primarias son autopistas principales divididas, mientras que las carreteras secundarias son arterias principales en la región.
  • El conjunto de datos incluye columnas de atributos para identificar el tipo de carretera, jurisdicción y más, apoyando la planificación de rutas flexible y el análisis de datos.

Puedes leer más sobre la licencia y los detalles de los datos en la fuente del conjunto de datos de MTC.

Cómo Ejecutar

  1. Clona este repositorio y navega dentro de él.

  2. Configura tu archivo .env.local. Consulta el archivo env.local.example para aprender qué variables de entorno necesitas. Ten en cuenta que necesitarás una clave API de MapBox para la interfaz del mapa y la geocodificación, una clave API de TextBelt para alertas SMS (solo demostración), así como un número de teléfono para enviar mensajes de texto durante la demostración.

  3. Después de crear tu archivo .env.local, puedes comenzar a configurar todos los servicios de GuardianGrid, que incluyen:

    • frontend: La interfaz del frontend de la aplicación.
    • backend: El backend de la aplicación, incluyendo la lógica de búsqueda de rutas en el mapa.
  4. Para configurar el servicio frontend, asegúrate de tener Yarn instalado y ejecuta:

    yarn install
    
  5. Para configurar el servicio backend, haz lo siguiente:

    # entra en este directorio
    cd ./src/backend
    
    # configura un entorno de python
    python3 -m venv env
    
    # activa el entorno de python
    source env/bin/activate
    
    # instala dependencias
    pip3 install -r requirements.txt
    
    # desactiva el entorno de python
    deactivate
    
    # regresa al directorio raíz del proyecto
    cd -
    
  6. Con todo configurado, el paso final es ejecutar la aplicación. Necesitarás dos ventanas o pestañas de terminal separadas, referidas como Terminal #1 y Terminal #2.

  7. En Terminal #1, inicia el servicio backend:

    # entra en el directorio del servicio backend
    cd ./src/backend
    
    # activa el entorno de python
    source env/bin/activate
    
    # ejecuta el backend
    bash ./run.sh
    
  8. En Terminal #2, inicia el servicio frontend:

    yarn dev
    
  9. Con todo en funcionamiento, abre tu navegador y ve a: http://localhost:3000/

  10. Cuando termines, cierra Terminal #1 y Terminal #2.