
# 危机情报
### 为地球上的每一种威胁提供实时保护。
**无论自然灾害还是人为危机。无论线上还是线下。**
[](https://datasquidlabs.com)
[](https://github.com/data-squid-labs/Hazard-Intelligence)
[](https://github.com/data-squid-labs/Hazard-Intelligence)
[](#license)
[**📲 在 App Store 下载**](https://datasquidlabs.com) · [**🌐 datasquidlabs.com**](https://datasquidlabs.com) · [**🔒 隐私政策**](https://datasquidlabs.com/privacy) · [**✉️ 联系方式**](mailto:datasquidlabs@protonmail.com)
## 起源故事
在卡特里娜飓风肆虐的两个星期里,我不知道我的家人是否还活着。没有任何信息。无法联系任何人。无法知道发生了什么,也不知道哪里有救援。
**危机情报(Hazard Intelligence)就是我 15 岁时 desperately 需要的系统。**
21 年过去了,市场上依然没有这样的解决方案。我试过的每一款“安全”应用都是挂羊头卖狗肉——它们实际上是保险产品、广告网络,或是假装关怀的社交平台。它们都没有解决真正的问题:*当意外发生时,提供实时的态势感知,并能一键联系到你最在乎的人。*
所以我亲自动手打造了它。
## 这是什么
这是一个面向 iOS 的实时人身安全平台,它将来自 NASA、USGS 和国家气象局的实时灾害数据融合为一个基于位置的单一风险评分——当突发事件发生时,只需轻轻一点,即可通过 SMS 联系你的受信任联系人。
**三个层级:**
| 层级 | 功能描述 |
|---|---|
| 🛰️ **实时灾害情报** | NASA FIRMS(活跃火灾)+ USGS(地震)+ NOAA(恶劣天气)+ 公共事业中断,融合为一个 0–100 的风险评分,并随你的移动实时更新。 |
| 🆘 **一键 SOS** | 只需点击一下,即可通过 SMS 与最多五位受信任联系人共享你的实时 GPS、当前风险状况和时间戳。对方无需安装本应用。 |
| 🚗 **车祸检测** | 设备端的 CoreMotion 可检测潜在的车辆碰撞。30 秒可取消的倒计时让用户掌控全局。绝不自动拨打 911。 |
## 设计系统
单一文件的设计语言。应用中的每种颜色、渐变、字体和表面处理都通过 `Theme.swift` 路由——只需修改一个 token,整个 UI 就会随之改变。
**美学风格:** 在深邃太空黑底色上的单色夜视绿。琥珀色保留用于警告。红色专用于 SOS / 碰撞 / 安全关键型 UI,确保紧急情况不会与常规界面元素产生视觉冲突。
| Token | 作用 | Hex |
|---|---|---|
| `Theme.gold` | 品牌主色调——文字商标、主要操作、评分强调 | `#2BFF3E` |
| `Theme.blue` | HUD 装饰——雷达网格、十字准线、辅助线条 | `#2DAB42` |
| `RiskLevel.low` → `.extreme` | 风险评分梯度 | 绿色 → 琥珀色 → 红色 |
| `RiskLevel.moderate.color` | 警告——离线横幅、加载失败 | `#FFC233` |
| `Theme.danger` | 仅限 SOS / 碰撞 / 紧急情况 | `#FF3B30` |
| `Theme.bg` | 应用背景色 | `#03060B` |
**可复用的 HUD 基础组件**(同样位于 `Theme.swift` 中):
`HUDBackground` · `RadarGrid` · `TickRing` · `CornerBrackets` · `.hudCard()` · `.hudGlow()` · `.font(.hud(_:_:))`
启动体验也是定制的:纯黑的 `UILaunchScreen`(无白屏闪烁)进入动画式的 `SplashView`,在移交给仪表盘之前,通过旋转扫描为雷达 Logo 充能。
## 当前状态
**状态:已在 Apple App Store 上线(2026 年 6 月)。** 代码已完成,在 Data Squid Labs 组织账号下签名,通过了 App 审核,并提供下载。
| 组件 | 状态 |
|---|---|
| 真实设备上的 iOS 应用 | ✅ 已发布 |
| 自定义应用图标(雷达) | ✅ 已安装 |
| 动画启动 / 闪屏序列 | ✅ 已发布 |
| 5 屏引导流程(Apple 模式) | ✅ 已测试 |
| iPhone 通讯录选择器集成 | ✅ 运行正常 |
| 实时位置仪表盘 | ✅ 运行正常 |
| 通过 SMS 一键 SOS | ✅ 端到端验证 |
| 灾害数据聚合后端(4 个 endpoint) | ✅ 在 Railway 上实时运行 |
| 碰撞检测(CoreMotion) | ✅ 已实现 |
| 24 小时风险历史走势图(Swift Charts) | ✅ 已发布 |
| 6 小时预测投影卡片 | ✅ 已发布 |
| 各模块细分详情 | ✅ 已发布 |
| 阈值警报(可配置,带冷却时间) | ✅ 已发布 |
| 后台灾害监控(BGAppRefreshTask) | ✅ 已发布 |
| 主屏幕 + 锁屏小组件(5 种尺寸) | ✅ 已发布 |
| 离线缓存 + 网络监控 | ✅ 已发布 |
| 设置屏幕 + 隐私控制 | ✅ 已发布 |
| 集中式设计系统(`Theme.swift`) | ✅ 已发布 |
| VoiceOver 辅助功能标签 | ✅ 已发布 |
| 营销网站 + 隐私政策 | ✅ [已上线](https://datasquidlabs.com) |
| Apple Developer Program(组织) | ✅ 已注册 |
| App Store 上线 | ✅ 已上线(2026 年 6 月) |
| Apple Watch 配套应用 | ⬜ 2026 年第四季度 |
| Android | ⬜ 2027 年 |
## 架构
```
┌──────────────────────┐
│ iOS App │
│ SwiftUI · iOS 17+ │
└──────────┬───────────┘
│
┌──────────────┼──────────────┐
│ │ │
▼ ▼ ▼
┌─────────────────┐ ┌─────────┐ ┌──────────────┐
│ CoreLocation │ │ Backend │ │ CoreMotion │
│ (live GPS) │ │ Railway │ │ (crash det.) │
└─────────────────┘ └────┬────┘ └──────────────┘
│
┌──────────┬───────┴───────┬──────────┐
│ │ │ │
▼ ▼ ▼ ▼
NASA FIRMS USGS NOAA NWS Utility
(wildfires) (quakes) (weather) Outages
User's contacts → Native SMS via MessageUI → Trusted phones
```
**数据流:**
1. iOS 应用通过 CoreLocation 读取用户的实时位置
2. 坐标发送至 Hazard Intelligence 后端
3. 后端并行查询 4–5 个公开 API,并融合结果
4. 后端返回单一的 0–100 风险评分 + 各数据源细分
5. iOS 仪表盘渲染评分 + 卡片
6. 触发 SOS 时:应用会编写包含实时 GPS 链接和风险上下文的 SMS,并调出原生 iOS Messages 编辑器
## 技术栈
**iOS 应用**(`/HazardIntelligence`)
- Swift 6 · SwiftUI · iOS 17+
- CoreLocation · CoreMotion · Contacts · MessageUI · UserNotifications
- Core Data(本地持久化)
- 集中式设计系统(`Theme.swift`)—— HUD 基础组件、调色板、排版
**后端服务**(`/` —— Python 文件)
- Python 3.11
- FastAPI 风格的请求处理
- 托管在 [Railway](https://railway.app) 上
- 模块化灾害获取器:`weather.py`, `alerts.py`, `outages.py`, `earthquakes.py`, `wildfires.py`
- 风险评分计算:`riskscore.py`
- 主控制器:`hazard.py`
**公开数据源**
- [NASA FIRMS](https://firms.modaps.eosdis.nasa.gov/) — 活跃火灾检测
- [USGS](https://earthquake.usgs.gov/) — 地震监测
- [NOAA / NWS](https://www.weather.gov/) — 恶劣天气警报
- [wttr.in](https://wttr.in/) — 天气状况
- 公共事业中断公开数据源
**营销与 Web**
- 营销网站位于 [`Data-Squid-Labs/datasquidlabs`](https://github.com/Data-Squid-Labs/datasquidlabs)(Vite + React Three Fiber)
- 托管在 Vercel,访问地址 [datasquidlabs.com](https://datasquidlabs.com)
- 隐私政策位于 [datasquidlabs.com/privacy](https://datasquidlabs.com/privacy)
## 项目结构
```
Hazard-Intelligence/
├── HazardIntelligence/ # Xcode project root
│ ├── HazardIntelligence/ # Main app target
│ │ ├── Theme.swift # 🎨 Central design system (palette + HUD primitives)
│ │ ├── HazardIntelligenceApp.swift # App entry · splash gating
│ │ ├── HazardDashboardView.swift # Main screen
│ │ ├── HazardCardView.swift # Per-source hazard cards
│ │ ├── RiskScoreView.swift # 0–100 ring readout w/ HUD reticle
│ │ ├── HazardAPIService.swift # Backend client
│ │ ├── HazardModels.swift # Shared types + risk-level color ramp
│ │ ├── Assets.xcassets/ # AppIcon · AppLogo · AppLogoMark · LaunchBackground
│ │ ├── Models/ # OnboardingState, ForecastSnapshot, etc.
│ │ ├── Services/ # Location, Contacts, Crash, Forecast, History,
│ │ │ # BackgroundRefresh, ThresholdAlert, Cache, Network
│ │ └── Views/
│ │ ├── SplashView.swift # Animated boot sequence
│ │ ├── DashboardEmptyStates.swift
│ │ ├── BreakdownDetailSheet.swift
│ │ ├── ForecastCardView.swift
│ │ ├── RiskHistoryChartView.swift
│ │ ├── Onboarding/ # Welcome, ValueProp, Permissions,
│ │ │ # FirstContact, Ready, ContactPicker
│ │ ├── Settings/ # SettingsView, SettingsRow, PrivacyPolicy,
│ │ │ # ContactsSetup, ContactRow
│ │ └── SOS/ # SOSCoordinator, ActionSheet, CrashCountdown,
│ │ # MessageComposer
│ └── HazardWidget/ # Home + Lock Screen widget target
├── IconBuilder/ # App-icon master + size generator
│ ├── HazardIcon_v8_master.png # Current — green radar
│ ├── green_source.png # Source logo
│ └── build_appicon.sh # Generates all 17 Apple-required sizes
├── docs/brand/ # README assets (logo, icon, hero)
├── Screenshots/ # Real-device walkthrough captures
├── hazard.py # Backend master controller
├── weather.py · alerts.py · outages.py
│ earthquakes.py · wildfires.py # Public-API fetchers
├── riskscore.py # Risk-score fusion logic
└── api.py # Backend HTTP server
```
## 本地运行
### 后端
```
# 从项目根目录
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python api.py
# Backend 现正在监听 http://localhost:8000
```
### iOS App
需要配备 Xcode 15+ 的 macOS:
```
open HazardIntelligence/HazardIntelligence.xcodeproj
```
在 Xcode 中:
1. 在 **Signing & Capabilities** 中选择你的开发团队
2. 选择你的 iPhone 作为运行目标
3. 按 ▶️ (Cmd+R)
应用需要能够访问在 `HazardAPIService.swift` 中配置的 URL 处的后端。请根据本地开发的需要进行调整。
## 路线图
| 阶段 | 目标 | 里程碑 |
|---|---|---|
| 🟢 **当前** | 2026 年 6 月 | **已在 App Store 上线。** 组织账号已注册;构建版本已签名、获批,并正向用户发布。 |
| 🟡 **下一阶段** | 2026 年 | 发布后增长:用户获取、遥测技术、UX 迭代。飓风季的媒体推广。 |
| 🟡 **商业化** (~80%) | 2026 年第四季度 | Pro 层级($4.99/月)。在飓风季前后进行推广。 |
| ⬜ **扩张** (~90%) | 2027 年 | Apple Watch 配套应用。通过 React Native 开发 Android 版。签署首个 B2B 试点项目。 |
| ⬜ **规模化** (100%) | 2027–28 年 | B2B / 政府许可协议。A 轮融资。首批工程招聘。多区域运营。 |
## 为何具有持续防御力
1. **数据融合的复杂性。** 将 5 个以上的政府和公开 API 统一为一个连贯的评分。新入局者必须从零开始进行集成。
2. **品牌与起源故事。** 由一位在新奥尔良的卡特里娜飓风幸存者构建。这个故事正是*为什么*我们能推出竞争对手想不到的功能的原因。
3. **通过联系人产生的网络效应。** 每一次 SOS 都会通过 SMS 将品牌介绍给 1–5 位新用户。分发渠道随着使用自然扩展。
4. **监管与 B2B 的转换成本。** 一旦某个州的交通部、学区或保险公司完成了集成,其转换成本是巨大的。
## 创始人
**Casey Howard** — 创始人兼工程师
*新奥尔良,路易斯安那州*
15 岁时亲历了卡特里娜飓风。独立端到端构建了 Hazard Intelligence:后端、iOS、Web。目前是一名学生。自学成才的工程师。居住在新奥尔良,就在这款产品所服务的这座城市里进行开发。
## 联系方式
- 🌐 **网站:** [datasquidlabs.com](https://datasquidlabs.com)
- ✉️ **邮箱:** [datasquidlabs@protonmail.com](mailto:datasquidlabs@protonmail.com)
- 🔒 **隐私政策:** [datasquidlabs.com/privacy](https://datasquidlabs.com/privacy)
- 📊 **融资路演PPT:** 应要求提供
**寻求:** 天使投资人 · 顾问 · 试点合作伙伴 · 保险 / 公共安全 / 政府机构相关人脉引荐。
## 许可证
© 2026 Data Squid Labs. 保留所有权利。
本仓库为源码可见且专有的。未经书面许可,代码和品牌不得用于重新分发、修改或商业用途。公开可见性仅用于文档、透明度和信誉展示目的。
如需许可咨询:[datasquidlabs@protonmail.com](mailto:datasquidlabs@protonmail.com)。

**在新奥尔良构建。因为总得有人来做这件事。**
**DATA SQUID LABS**