가디언 그리드 SF
소개
가디언 그리드 (SF)는 주요 재해 발생 시 지역사회가 신속하고 안전하게 대응할 수 있도록 돕는 스마트 시티 비상 대피 도구입니다. 이 시스템은 도시 관리자나 비상 담당자가 대규모 자연 재해로 영향을 받는 위험 지역과 안전 지역을 대화형 지도에서 직접 표시하고 정의할 수 있게 합니다. 그 후 고급 경로 탐색 알고리즘을 사용하여 현재 위험 요소를 고려한 주민들의 가장 안전한 대피 경로를 생성하고 전달합니다.
비상 상황이 발생하면 담당자는 위험 지역과 안전 지역을 업데이트하고 즉시 주민들의 휴대폰으로 문자 메시지를 통해 경고를 보낼 수 있습니다. 각 사람은 웹 포털로 연결되는 링크를 받으며, 해당 포털은 현재 위치를 사용하여 위험을 고려한 안전 경로를 표시하고 구글 지도로 즉시 길 안내를 제공합니다. 상황이 변하면 경로는 실시간으로 재계산되고 새로운 경고가 발송되어 모두의 최신 상태와 안전을 유지합니다. 데모를 여기에서 확인하세요:
현재 데모 코드에서는 테스트 및 시연 목적으로 단일 전화번호로 SMS를 통해 경고를 보냅니다. 그러나 실제 배포에서는 가디언 그리드 SF가 무선 비상 경보(WEA) 시스템과 통합되어 영향을 받는 도시나 지역의 모든 사람에게 대피 경보를 방송하도록 구성될 것입니다.
현재는 샌프란시스코 베이 지역에 중점을 두고 있지만, 우리의 비전은 가디언 그리드를 전 세계 주요 도시로 확장하는 것입니다. 우리의 목표는 각 도시가 시민을 보호하고 혼잡을 최소화하며 비상 상황이 전개될 때 신속하게 대응할 수 있도록 조정되고 데이터 기반의 대피 시스템을 제공하는 것입니다.
팀 애스펜
가디언 그리드는 내셔널 시큐리티 해커톤에서 팀 애스펜에 의해 개발되었습니다. 우리 팀은 다음으로 구성되었습니다:
우리는 엘리엇 울프, 아담 파파, 레이 델 베키오를 포함한 멘토와 주최측의 지도와 지원에 감사드립니다.
우리의 해커톤 여정
2025년 4월 26-27일의 해커톤 주말은 예상치 못한 강력한 협업을 이끌어냈습니다. 제 친한 친구 딜런 에크와 저는 각각 콜로라도와 미주리에서 샌프란시스코에서 열린 Cerebral Valley의 2회 내셔널 시큐리티 해커톤에 참가하기 위해 왔습니다. 행사 시작 시 우리는 크리스티나 황과 이오아나 문테아누를 만났고, 팀 애스펜이 결성되었습니다.
이오아나의 링크드인 게시물: 우리의 해커톤 경험을 강조한 글
해커톤은 두 가지 뚜렷한 과제를 제시했습니다. 주요 트랙은 전통적인 수상 순위가 있는 프로젝트 기반 경쟁이었고, 특별 과제는 참가자들이 윤리적으로 코드 메탈의 냉각 시스템을 해킹하도록 초대했습니다. 우리 팀은 특히 딜런의 소프트웨어 및 기계 공학 배경 덕분에 다양한 전문성을 갖추고 있었기 때문에 24시간이라는 시간 내에 두 가지 과제를 모두 해결하기로 전략적 결정을 내렸습니다.
이 야심찬 접근법은 두 가지 중요한 결과를 낳았습니다:
-
가디언 그리드 (SF) - 우리의 주요 해커톤 프로젝트로 비상 대피에 초점을 맞췄습니다:
-
코드 메탈 과제 - 우리는 그들의 냉각 시스템에 대한 가장 성공적인 침투 테스트를 달성하여 $5,000의 특별 상을 받았습니다. 이 솔루션은 기밀로 유지되지만 소프트웨어와 열역학 시스템 모두에 대한 우리 팀의 기술적 깊이를 입증했습니다.
가디언 그리드는 주요 대회에서 상위 세 팀에 들지는 못했지만, 심사위원들은 그 영향력과 혁신적 접근법을 인정했습니다. 프로젝트의 범위는 야심찼고 두 가지 과제에 집중을 나누느라 시간 제약으로 모든 구상된 기능을 구현하지 못했습니다. 그럼에도 불구하고 심사위원들의 피드백은 도시 비상 관리 문제를 해결하는 데 있어 우리의 솔루션이 중요하다는 것을 입증했습니다.
해커톤은 변혁적인 경험이었습니다. 기술적 성취와 상금 외에도 새로운 우정이 형성되었고 다양한 기술 세트가 압박 속에서 결집하는 힘을 보여주었습니다. 2024년 말과 2025년 초에 개인적인 도전에 직면한 후 이 성공은 특히 의미 있고 재활성화하는 계기가 되었습니다.
해커톤 세부사항
가디언 그리드 (SF)는 Cerebral Valley와 쉴드 캐피탈이 주최하고 스탠포드 DEFCON과 협력하여 개최한 제2회 국가 안보 해커톤(2025년 4월 26-27일)에서 구축되었습니다. 이 행사는 미국 군 관계자들이 큐레이션한 국가 안보 문제 진술을 위해 정부, 군, 스타트업 멘토의 지도를 받아 기술자와 엔지니어들을 모았습니다.
- 주말에는 스탠포드 대학교에서의 국방 기술 채용 박람회 및 팀 빌딩이 포함되었고, 그 후 샌프란시스코에서 24시간의 해킹이 이어졌습니다.
- 스폰서 및 후원에는 쉴드 캐피탈, 인큐텔, NATO 혁신 기금, 밴에바 랩스, 스케일 AI, 그록, 윈드서프, 앤스로픽, 마이크로소프트, 맥사, 디드론, 디스트리뷰티드 스펙트럼, 코드 메탈이 포함되었습니다.
- 해커톤 카테고리에는 스마트 시티, 워 게임, 해양 패턴 분석, AI 배포를 위한 사이버보안, 무선 주파수 네비게이션, 일반 국가 안보, 그리고 냉장 시스템 해킹이 포함되었습니다.
해커톤 주요 부문에는 1등에게 $3,000와 스타링크 장치, 2등에게 $2,000, 3등에게 $1,000이 포함된 상금이 있었습니다. 그러나 냉각(냉장) 챌린지를 위한 특별하고 비공개된 상금 $5,000도 있었습니다.
우리 팀은 스마트 시티와 냉장 시스템 해킹(코드 메탈) 두 과제에 모두 참가했습니다. 가디언 그리드 (SF)는 우리의 스마트 시티 출품작이었으며, 우리는 냉장 챌린지에서 기술적 성과로 $5,000 특별상과 우수상(Honorable Mention)을 받았고, 스마트 시티 솔루션은 심사위원과 동료들에게 강한 피드백을 받았습니다.
심사위원과 동료들은 가디언 그리드 (SF)를 비상 관리의 중요한 문제에 대한 영향력 있는 대응으로 인식했으며, 그 창의성, 실용적 접근법, 그리고 단순히 LLM 기술을 만능 해결책으로 사용하는 것을 피한 점을 칭찬했습니다. 스마트 시티 프로젝트는 두 과제 간 자원 분할로 인한 시간 제약 때문에 상위 세 팀에 들지 못했지만, 심사위원들은 그 잠재력과 관련성에 깊은 인상을 받았습니다. 우리 팀은 이 인정과 함께 냉장 시스템 해킹 챌린지 우승을 차지한 것을 영광으로 생각합니다.
더 많은 세부사항과 소감은 우리의 링크드인 게시물에서 확인하시고 해커톤 사진 갤러리는 여기에서 확인하세요.
GPS 데이터 출처
샌프란시스코 베이 지역에서의 경로 탐색 및 매핑을 위해 우리는 정밀하고 포괄적인 도로 데이터가 필요했습니다. 초기에는 이 데이터를 가져오기 위해 구글 맵 API와 맵박스(Mapbox) API를 모두 실험해 보았습니다. 그러나 이들의 라이선스 제한과 기능적 한계로 인해 해커톤 목표에 맞게 기본 라우팅 그래프를 얻거나 사용하는 것이 불가능했습니다. 이러한 제약 때문에 우리는 오픈 원시 지리 데이터셋을 사용했습니다. 이 원시 지리 데이터는 다음 두 개의 오픈 소스 출처를 통해 얻었습니다:
선형 피처는 샌프란시스코 베이 지역의 도로를 나타냅니다. 이 피처 세트는 메트로폴리탄 교통 위원회(MTC/ABAG)가 제공한 모든 카운티 기반 2021 TIGER/Line 쉐이프파일을 사용하여 조립되었습니다. 이 데이터셋에는 전체 지역의 주요 도로, 보조 도로, 지역 이웃 도로 및 농촌 도로, 도시 거리, 차량 통행로, 램프, 서비스 드라이브, 골목, 사유 도로, 자전거 도로, 안장/승마 경로, 보도, 보행자 트레일 및 계단이 포함됩니다.
- 이 피처 세트는 각 카운티에 대한 고유한 도로 구간을 포함하며 단일 도로 구간에 여러 명칭이 있는 경우(예: 고속도로가 번호와 지역명으로 불리는 경우)도 포함합니다.
- 주요 도로는 분할된 주요 고속도로이고, 보조 도로는 해당 지역의 주요 간선 도로입니다.
- 이 데이터셋에는 도로 유형, 관할구역 등을 식별하기 위한 속성 열이 포함되어 있어 유연한 경로 탐색 및 데이터 분석을 지원합니다.
라이선스 및 데이터 세부사항에 대해서는 MTC 데이터셋 출처에서 더 읽어볼 수 있습니다.
실행 방법
-
이 리포지토리를 복제하고 해당 디렉터리로 이동합니다.
-
.env.local파일을 설정합니다. 필요한 환경 변수가 무엇인지 확인하려면env.local.example파일을 참조하세요. 맵 UI 및 지오코딩을 위해 맵박스 API 키, SMS 알림(데모 전용)을 위해 텍스트벨트 API 키, 그리고 데모 중에 문자를 보낼 전화번호가 필요하다는 점을 유의하세요. -
.env.local파일을 만든 후에는 가디언그리드의 모든 서비스를 설정할 수 있습니다. 여기에는 다음이 포함됩니다:- 프론트엔드: 앱의 프론트엔드 인터페이스.
- 백엔드: 경로 탐색 로직을 포함한 앱의 백엔드.
-
프론트엔드 서비스를 설정하려면 야른이 설치되어 있는지 확인한 후 다음을 실행하세요:
yarn install -
백엔드 서비스를 설정하려면 다음을 수행하세요:
# go into this directory cd ./src/backend # set up a python environment python3 -m venv env # activate the python environment source env/bin/activate # install dependencies pip3 install -r requirements.txt # deactivate python environment deactivate # return to the project's root directory cd - -
모든 설정이 완료되면 마지막 단계는 앱을 실행하는 것입니다. 두 개의 별도 터미널 창 또는 탭이 필요하며, 터미널 #1 및 터미널 #2라고 합니다.
-
터미널 #1에서 백엔드 서비스를 시작합니다:
# go into the backend service directory cd ./src/backend # activate the python environment source env/bin/activate # run the backend bash ./run.sh -
터미널 #2에서 프론트엔드 서비스를 시작합니다:
yarn dev -
모든 것이 실행 중이면 브라우저를 열고 다음으로 이동합니다: http://localhost:3000/
-
완료되면 터미널 #1과 터미널 #2를 닫습니다.