vccs
Vue 3용 차트 컴포넌트 모음, Recharts에서 포팅
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기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.