Guardian Grid SF

Repositório do GitHubPostagem no LinkedIn
Vídeo de DemonstraçãoDetalhes do Hackathon

Sobre

Guardian Grid (SF) é uma ferramenta de evacuação de emergência para cidades inteligentes que ajuda comunidades a responder rapidamente e com segurança durante grandes desastres. O sistema permite que administradores da cidade ou oficiais de emergência marquem zonas de perigo, como áreas afetadas por desastres naturais, e definam zonas seguras diretamente em um mapa interativo. Algoritmos avançados de busca de caminhos são então usados para gerar e comunicar as rotas de evacuação mais seguras para os residentes, levando em conta os perigos atuais.

Quando uma emergência ocorre, os oficiais podem atualizar as áreas de perigo e seguras e enviar imediatamente alertas para os telefones dos residentes via mensagem de texto. Cada pessoa recebe um link para um portal da web, que usa sua localização atual para exibir uma rota ciente do perigo até a segurança e fornece direções instantâneas com Google Maps. À medida que as situações evoluem, as rotas são recalculadas em tempo real, e novos alertas são enviados para manter todos atualizados e seguros. Confira a demonstração aqui:

No código de demonstração atual, os alertas são enviados via SMS para um único número de telefone para fins de demonstração e teste. No entanto, em uma implementação real, o Guardian Grid SF se integraria ao sistema de Alertas de Emergência Sem Fio (WEA) para transmitir alertas de evacuação para todas as pessoas na cidade ou região afetada.

Embora o foco atual esteja na Área da Baía de São Francisco, nossa visão é expandir o Guardian Grid para outras grandes cidades ao redor do mundo. Nosso objetivo é fornecer um sistema robusto para evacuações coordenadas e baseadas em dados, para que cada cidade possa proteger seu povo, minimizar a congestão e responder rapidamente à medida que as emergências se desenrolam.

Equipe Aspen

O Guardian Grid foi desenvolvido pela Equipe Aspen no Hackathon de Segurança Nacional. Nossa equipe era composta por:

Estamos gratos pela orientação e apoio de nossos mentores e organizadores, incluindo Elliott Wolf, Adam Papa e Ray Del Vecchio.

Nossa Jornada no Hackathon

O fim de semana do hackathon de 26 a 27 de abril de 2025 trouxe uma colaboração inesperada, mas poderosa. Meu amigo próximo Dylan Eck e eu viajamos do Colorado e do Missouri, respectivamente, para participar do 2º Hackathon de Segurança Nacional da Cerebral Valley em São Francisco. No início do evento, conhecemos Christina Huang e Ioana Munteanu, e a Equipe Aspen nasceu.

Postagem no LinkedIn

Postagem de Ioana no LinkedIn destacando nossa experiência no hackathon

O hackathon apresentou dois desafios distintos. A trilha principal era uma competição baseada em projetos com prêmios tradicionais de colocação, enquanto um desafio especial convidava os participantes a hackear eticamente os sistemas de resfriamento da Code Metal. Dada a diversidade de especializações de nossa equipe, particularmente a experiência de Dylan em engenharia de software e mecânica, tomamos a decisão estratégica de enfrentar ambos os desafios dentro do prazo de 24 horas.

Essa abordagem ambiciosa levou a dois resultados significativos:

  1. Guardian Grid (SF) - Nosso principal projeto do hackathon focado em evacuação de emergência:

  2. Desafio Code Metal - Conseguimos o teste de penetração mais bem-sucedido de seus sistemas de resfriamento, levando à nossa vitória no prêmio especial de $5,000. Embora essa solução permaneça confidencial, ela demonstrou a profundidade técnica de nossa equipe em sistemas de software e termodinâmicos.

Embora o Guardian Grid não tenha garantido uma das três primeiras colocações na competição principal, os juízes reconheceram seu potencial impacto e abordagem inovadora. O escopo do projeto era ambicioso, e dividir nosso foco entre dois desafios significava que não conseguimos implementar todos os recursos que imaginamos dentro da limitação de tempo. No entanto, o feedback dos juízes validou a importância de nossa solução para a gestão de emergências urbanas.

O hackathon provou ser uma experiência transformadora. Além das conquistas técnicas e do prêmio em dinheiro, ele fomentou novas amizades e demonstrou o poder de conjuntos de habilidades diversas se unindo sob pressão. Após enfrentar desafios pessoais no final de 2024 e início de 2025, esse sucesso foi particularmente significativo e revigorante.

Detalhes do Hackathon

O Guardian Grid (SF) foi construído no 2º Hackathon de Segurança Nacional anual (26-27 de abril de 2025), organizado pela Cerebral Valley e Shield Capital em parceria com o Stanford DEFCON. O evento reuniu tecnólogos e engenheiros para construir soluções para declarações de problemas de segurança nacional elaboradas por partes interessadas militares dos EUA, com orientação de mentores do governo, militares e startups.

  • O fim de semana incluiu uma feira de carreiras em tecnologia de defesa e construção de equipes na Universidade de Stanford, seguido por 24 horas de hacking em São Francisco.
  • Os patrocinadores e apoiadores incluíram Shield Capital, In-Q-Tel, NATO Innovation Fund, Vannevar Labs, Scale AI, Groq, Windsurf, Anthropic, Microsoft, Maxar, Dedrone, Distributed Spectrum e Code Metal.
  • As categorias do hackathon incluíram Cidades Inteligentes, Jogos de Guerra, Análise de Padrões Marítimos, Cibersegurança para Implementações de IA, Navegação por Radiofrequência, Segurança Nacional Geral e Hackear um Sistema de Refrigeração.

A seção principal do hackathon tinha prêmios que incluíam $3,000 e unidades Starlink para o primeiro lugar, $2,000 para o segundo lugar e $1,000 para o terceiro lugar. Mas havia um prêmio especial, oculto, para um desafio de refrigeração com um prêmio de $5,000.

Nossa equipe participou dos desafios de Cidades Inteligentes e Hackear um Sistema de Refrigeração. O Guardian Grid (SF) foi nossa entrada nas Cidades Inteligentes. Recebemos um Prêmio Especial de $5,000 e Menção Honrosa por nosso trabalho técnico no desafio de refrigeração, e nossa solução de Cidades Inteligentes recebeu um forte feedback de juízes e colegas.

Juízes e colegas reconheceram o Guardian Grid (SF) como uma resposta impactante a um problema significativo na gestão de emergências, elogiando sua criatividade, abordagem prática e o fato de que evitou simplesmente usar a tecnologia LLM como uma solução genérica. Embora nosso projeto de Cidades Inteligentes não tenha ganhado um prêmio entre os três primeiros devido a limitações de tempo por dividir recursos entre dois desafios, os juízes ficaram impressionados com seu potencial e relevância. Nossa equipe teve a honra de receber esse reconhecimento junto com a vitória no desafio de Hackear um Sistema de Refrigeração.

Encontre mais detalhes e reflexões em nossa postagem no LinkedIn e confira a galeria de fotos do hackathon aqui.

Fontes de Dados GPS

Para nossa busca de caminhos e mapeamento na Área da Baía de São Francisco, precisávamos de dados rodoviários precisos e abrangentes. Inicialmente, experimentamos tanto a API do Google Maps quanto a API do Mapbox para recuperar esses dados. No entanto, suas restrições de licenciamento e limitações funcionais nos impediram de obter ou usar o gráfico de roteamento subjacente de uma maneira que correspondesse aos nossos objetivos do hackathon. Devido a essas restrições, usamos conjuntos de dados geográficos brutos abertos. Obtivemos esses dados geográficos brutos através dessas duas fontes de código aberto:

Recursos lineares representam vias para a Região da Baía de São Francisco. O conjunto de recursos foi montado usando todos os arquivos shapefiles TIGER/Line de 2021 baseados em condados pela Comissão Metropolitana de Transporte (MTC/ABAG). O conjunto de dados inclui todas as estradas primárias, secundárias, locais de bairro e rurais, ruas da cidade, trilhas para veículos, rampas, acessos, becos, estradas privadas, ciclovias, trilhas para cavalos, calçadas, trilhas para pedestres e escadas para toda a região.

  • O conjunto de recursos contém segmentos de estrada únicos para cada condado e inclui casos em que um único trecho de estrada tem múltiplas designações (por exemplo, uma rodovia interestadual sendo chamada pelo seu número e nome local).
  • Estradas primárias são rodovias principais divididas, enquanto estradas secundárias são artérias principais na região.
  • O conjunto de dados inclui colunas de atributos para identificar o tipo de estrada, jurisdição e mais, apoiando roteamento flexível e análise de dados.

Você pode ler mais sobre a licença e os detalhes dos dados na fonte do conjunto de dados MTC.

Como Executar

  1. Clone este repositório e navegue até ele.

  2. Configure seu arquivo .env.local. Consulte o arquivo env.local.example para saber quais variáveis de ambiente você precisa. Observe que você precisará de uma chave de API do MapBox para a interface do mapa e geocodificação, uma chave de API do TextBelt para alertas SMS (apenas demonstração), além de um número de telefone para envio de mensagens durante a demonstração.

  3. Depois de criar seu arquivo .env.local, você pode começar a configurar todos os serviços do GuardianGrid, que incluem:

    • frontend: A interface do frontend do aplicativo.
    • backend: O backend do aplicativo, incluindo a lógica de busca de caminhos no mapa.
  4. Para configurar o serviço frontend, certifique-se de ter o Yarn instalado e execute:

    yarn install
    
  5. Para configurar o serviço backend, faça o seguinte:

    # vá para este diretório
    cd ./src/backend
    
    # configure um ambiente python
    python3 -m venv env
    
    # ative o ambiente python
    source env/bin/activate
    
    # instale as dependências
    pip3 install -r requirements.txt
    
    # desative o ambiente python
    deactivate
    
    # retorne ao diretório raiz do projeto
    cd -
    
  6. Com tudo configurado, o passo final é executar o aplicativo. Você precisará de duas janelas ou abas de terminal separadas, referidas como Terminal #1 e Terminal #2.

  7. No Terminal #1, inicie o serviço backend:

    # vá para o diretório do serviço backend
    cd ./src/backend
    
    # ative o ambiente python
    source env/bin/activate
    
    # execute o backend
    bash ./run.sh
    
  8. No Terminal #2, inicie o serviço frontend:

    yarn dev
    
  9. Com tudo em execução, abra seu navegador e vá para: http://localhost:3000/

  10. Quando terminar, feche Terminal #1 e Terminal #2.