Skip to content
UCIP

A research-backed decision-support platform for Mumbai's ward-level heat vulnerability.

License: Apache 2.0 Stack Status

Open the live dashboard


UCIP tells a city planner which Mumbai wards to cool first, why, and what intervention to use there, grounded in published climate and ecology literature, not arbitrary weights.

Status: prototype live. The full data pipeline, HVI computation, NBS engine, and a working Leaflet frontend (choropleth, plantability layer, green-cover-change layer, ward cards, methodology page) are built and running end-to-end on real Mumbai data.

Demo

What it does

  1. Heat Vulnerability Index (HVI) - grid-level (1 km) choropleth over Mumbai, rolled up to the 24 BMC wards. Weights are literature-derived (PCA per Reid et al. 2009), never arbitrary.
  2. Explainability - a factor-contribution breakdown of a transparent linear index per ward. No SHAP, by design (nothing black-box to explain).
  3. Nature-Based Solutions engine - rule-based recommendations (native trees, cool roofs, pocket parks, cooling centres, rain gardens) with an ecological plantability filter: trees only where restoration literature supports them (Bastin 2019), non-tree cooling elsewhere (Veldman 2019, Friedlingstein 2019).
  4. Green-cover change - per-cell NDVI delta classified gained/stable/lost across two dry-season composites.
  5. Methodology page - every variable, weight, dataset, assumption, and limitation, with citations, computed live from the pipeline's own output.

Demonstrated on Mumbai; the architecture is city-agnostic.

Quick Start

git clone https://github.com/AnayDhawan/ucip.git
cd ucip/frontend
npm install
npm run dev

Opens at localhost:3000. The dashboard runs entirely off the committed GeoJSON snapshots in data/, so no Supabase or Google Earth Engine credentials are needed to browse it. See CONTRIBUTING.md for the full pipeline setup (only needed if you're touching the data layer).

Structure

frontend/   Next.js 16 + TypeScript + Tailwind + Leaflet (map, ward cards, methodology page)
pipeline/   Python 3 + Google Earth Engine (grid, HVI, NBS rules, sensitivity check)
supabase/   Postgres + PostGIS schema and migrations
data/       Ward boundaries + committed GeoJSON snapshots (demo-safe fallback)
docs/       Methodology, citations, screenshots

API

A read-only public API serves the same data, with no key and open CORS:

curl 'https://uciplatform.vercel.app/api/v1/lookup?lat=19.076&lon=72.877'

Endpoints for wards, grid cells, recommendations, and a coordinate lookup that answers "which ward am I in and what should be built here". Full reference: docs/api.md. Spec: /api/v1/openapi.json.

Documentation

  • docs/methodology.md - the HVI indicators, weights, NBS rules, and plantability filter, mirroring the in-app /methodology page.
  • docs/references.md - the citation table backing every variable and weight, with DOIs.
  • docs/HVI-methodology-report.md - a standalone technical report expanding the methodology and references above into a full writeup with real pipeline output (PCA weights, sensitivity analysis results, plantability-filter numbers).
  • docs/DATA-DICTIONARY.md - what every dataset column and published file means: unit, range, source, derivation, and limitations.
  • pipeline/README.md - running the pipeline as one orchestrated refresh, the refresh cadence split, and the post-refresh change-diff tool.

Contributing

See CONTRIBUTING.md. Please read the Code of Conduct first.

Contact

Bugs, data questions, or a ward that wants this used for real, open an issue.

License

Apache 2.0, see LICENSE.

About

Decision-support tool ranking Mumbai's 24 wards by heat vulnerability, with cited nature-based cooling recommendations

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

12 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages