尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证the only tool you'll need for sar research
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
Ask the Earth a question. Get a radar answer.
Sentinel-1 SAR analysis, an AI research mentor, and hazard exposure outlooks — all running live on a 3D globe, free ESA data, zero raster downloads.查看完整 README ↗Free satellite radar for everyone.
Ask a question about any place on Earth and get a real measurement from space, then simulate what could happen next and learn how to prepare.
Live app · API · Science · Janus · Deployment
Built by Amogh Vinaykumar and Prem Kamasani, Flower Mound High School, Texas.
In July 2025 the Guadalupe River rose about 26 feet in under an hour and more than 135 people died in the Texas Hill Country floods. The storm that caused the flooding also hid it from camera satellites. Radar satellites see straight through cloud, smoke and darkness, and Europe's Sentinel-1 mission images the whole planet every few days for free. Almost nobody outside a research lab can use that data, because it arrives as gigabyte files that need specialist software and training.
Kairos removes that barrier. Type or say "was there flooding near Kerrville in July 2025?" and about thirty seconds later the flood extent is on a 3D globe, with the area in km², a confidence score and a plain explanation of what the radar saw.
Kairos is organized around four jobs.
Research tools for going deeper: raw backscatter, optical comparison, before and after swipe, time series with trend statistics, measured accuracy against independent reference maps, confounder checks against real rainfall, wind and land cover, batch CSV runs, area alerts, dark-vessel screening against AIS broadcasts, and published InSAR interferograms.
Everything works without an account. Signing in with Google adds saved analyses and alerts. Kairos also installs as an app from the browser.
"was there flooding near Kerrville in July 2025?"
│
▼
Language model ───────────► analysis type, place, dates
(via OpenRouter)
│
▼
Google Earth Engine ──────► filter Sentinel-1, calibrate, compare
against a baseline, isolate the change
│ (nothing is downloaded)
▼
FastAPI ──────────────────► tile URL + statistics + signed provenance
│
▼
React + Mapbox GL globe ──► overlay, headline number, confidence,
plain-language explanation
The physics in one paragraph: the satellite sends a microwave pulse and records how much energy bounces back. Smooth water reflects the pulse away like a mirror, so new flooding shows up as land that suddenly went dark. Buildings and ship hulls bounce energy straight back, so they appear bright. Burned vegetation, cleared forest and wet soil each change the echo in their own way. Every analysis in Kairos is a different way of reading what changed in that echo.
POST /verify
confirms it has not been altered.| Layer | Technology |
|---|---|
| Frontend | React 18, TypeScript, Vite, Tailwind CSS, Framer Motion, Zustand, TanStack Query |
| Map and 3D | Mapbox GL JS globe, custom WebGL2 terrain and water renderer |
| Backend | Python 3.11, FastAPI, Pydantic |
| Satellite processing | Google Earth Engine (Sentinel-1, Sentinel-2, Sentinel-5P, Landsat, ALOS PALSAR, GLO-30) |
| Physics | NumPy flood and wildfire solvers |
| Language | A hosted language model through OpenRouter |
| Accounts | Firebase Auth and Firestore (optional) |
| Hosting | Vercel (frontend), Google Cloud Run (backend) |
| Quality | pytest (300+ tests), Vitest, ESLint, Ruff, GitHub Actions CI |
You need Python 3.11+, Node 20+, a free Google Earth Engine registration tied to a Google Cloud project, a free Mapbox token, and an OpenRouter key for the chat. On Windows, use WSL2.
Backend
cd backend
python3 -m venv venv && source venv/bin/activate
pip install -r requirements.txt
cp .env.example .env # set GOOGLE_CLOUD_PROJECT and OPENROUTER_API_KEY
earthengine authenticate # one-time browser login
python test_gee.py # prints an image count if Earth Engine works
uvicorn main:app --reload --port 8000
Frontend, in a second terminal
cd frontend
npm install
cp .env.example .env # set VITE_MAPBOX_TOKEN
npm run dev # http://localhost:5173
Open the app, press Launch Kairos, and try a featured story or ask a question. The wizard, featured stories, simulations and map tools work without the OpenRouter key; only the chat, explanations and Janus need it.
Tests
cd backend && pip install -r requirements-dev.txt && ruff check . && pytest
cd frontend && npm run typecheck && npm run lint && npm test
The backend suite needs no credentials or network: Earth Engine calls and terrain fetches are stubbed, and the solver tests run on synthetic terrain.
kairos/
├── backend/
│ ├── main.py app entry, Earth Engine startup, routers
│ ├── api/ one router per feature (analyze, query, districts,
│ │ featured, simulate, foresight, janus, ...)
│ ├── gee/ every analysis plus the registry
│ ├── solver/ flood and wildfire physics, with tests
│ ├── janus/ the research mentor: tools, memory, exports
│ ├── watch/ autonomous disaster sweeper
│ ├── ai/ language model client, parser, system prompt
│ ├── ratelimit.py free-tier limits per visitor
│ ├── result_cache.py repeat answers without recomputing
│ └── tests/
├── frontend/src/
│ ├── components/ globe, chat, panels, landing, academy, 3D view
│ ├── stores/ Zustand state
│ ├── api/ typed client, one module per endpoint group
│ ├── lib/ chat, navigation, voice, i18n, geometry, exports
│ └── test/
└── docs/
backend/gee/your_analysis.py with the shared signature: bbox,
start_date and end_date in, a dict with tile_url and data_date out.ANALYSIS_REGISTRY in backend/gee/registry.py.backend/ai/system_prompt.md so the chat can choose it.The wizard, the API and Janus pick it up automatically.
In the product. Claude Haiku 4.5, accessed through OpenRouter, turns questions into analysis parameters and writes plain-language explanations of finished results. Claude Sonnet 4.6 powers Janus's study-design, peer-review and autopilot modes. AI never produces a measurement, and the analyses, simulations, featured stories and map tools all work without it.
In development. We used Claude (Anthropic) as an AI assistant while building Kairos, for brainstorming features and as a coding assistant that revised parts of the code under our direction. All of the main code and planning is done by both developers.
Contains modified Copernicus Sentinel data processed on Google Earth Engine. Surface water and settlement layers from the European Commission Joint Research Centre. Elevation from Copernicus GLO-30. Disaster events from NASA EONET. Congressional districts from the US Census Bureau TIGERweb service. Vessel broadcasts from NOAA and BOEM MarineCadastre. Reference maps from the Global Flood Database, MODIS and Hansen Global Forest Change. Basemaps by Mapbox. Open-source libraries are listed in ACKNOWLEDGMENTS.md.
MIT. See LICENSE.