Canary is a hackathon-ready climate health risk atlas with:
- Frontend: Vite + React + MapLibre GL choropleth map, sliders, tooltips
- Backend: FastAPI that serves county GeoJSON with risk properties and metrics lookup by FIPS
/frontend— React app (MapLibre choropleth + controls)/backend— FastAPI app + data loader/merger
cd backend
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
uvicorn app:app --reload --port 8000Test:
curl "http://localhost:8000/health"
curl "http://localhost:8000/geojson?layer=cancer" | headcd frontend
npm install
npm run devOpen: http://localhost:5173
Put these files in backend/data/:
counties.geojson— county polygons with a FIPS property (preferGEOID)metrics.csv— one row per county keyed byfips(5 digits)
fips,county,statebase_cancer,base_neuro,base_amrw_pm25,w_poverty,w_accesspm25,poverty,access
- Start with the provided sample
metrics.csv+counties.geojsonto get the UI working. - Then swap in real data and keep the same columns.
- County Boundaries: Plotly Datasets — geojson-counties-fips.json
- US county polygons keyed by 5-digit FIPS code
- State Boundaries: PublicaMundi MappingAPI — us-states.json
- US state polygons with name and density properties
- Base Map: CartoDB Dark Matter via MapLibre GL
- Dark no-labels tile style for choropleth visualization
- Health Metrics: CDC PLACES — county-level health outcomes
- Air Quality: EPA AQS — PM2.5 annual averages by county
- Socioeconomic: US Census ACS — poverty rate, healthcare access
Built at BioHacks 2025. County and state boundary data provided by Plotly and PublicaMundi open datasets. Base map tiles by CartoDB. Health and environmental data sourced from CDC, EPA, and US Census Bureau public APIs.