Loading...
Loading...
TerraFlow combines satellite data, community intelligence, and government accountability into one unified environmental platform — designed to work offline, at scale, on low-end devices.
API Endpoints
150+
Database Migrations
48
RabbitMQ Workers
6
Regions Supported
3
TerraFlow aggregates environmental data from satellites, government APIs, weather services, and thousands of citizen contributors.
Sentinel-2 scenes processed every 5 days for Dal Lake Health Index — NDWI, chlorophyll, turbidity, and surface temperature analysis.
Geo-tagged pollution reports with photos, GPS coordinates, and AI-powered categorization across 6 pollution types.
CPCB air quality stations, JKPCC water monitoring, STP performance data, and ward boundary GeoJSON obtained through RTI filings.
Real-time weather from Open-Meteo, air quality from WAQI, agricultural data from NASA POWER — all with graceful degradation.
AI augments citizen intelligence — it never replaces human verification. Every automated decision can be overridden by community consensus.
Color histogram analysis auto-categorizes report photos into 6 pollution types: water, waste, air, encroachment, deforestation, wildlife.
Gradient boosting model using topography data (valley inversion patterns), temperature, wind speed, and historical AQI patterns for 24-hour forecasts.
PostGIS proximity queries detect reports within 50m, same category, within 24 hours. Duplicates become corroborations instead of clutter.
Weekly composite score from 6 weighted satellite-derived sub-indices for Dal Lake, combining turbidity, chlorophyll-a, dissolved oxygen, and more.
A modular, production-grade stack built for performance, offline resilience, and Kashmir’s infrastructure constraints.
App Router with SSR for SEO, PWA shell for offline, TypeScript strict mode, Tailwind CSS, shadcn/ui.
46 handler modules, 150+ endpoints. Handles 10,000 concurrent connections at ~50 MB RAM. JWT auth, rate limiting.
48 migrations, 33 models, geospatial queries (ST_DWithin, ST_Contains, ST_MakeEnvelope). 19 region-scoped tables.
6 async workers: notifications, AQI processing, Dal Lake satellite, escalation, stats computation, flood monitoring.
Session store, JWT refresh tokens, rate limiting (sliding window), query caching. Sub-millisecond reads.
S3-compatible object storage with free egress. Presigned URLs for direct client upload. Report photos and satellite imagery.
Kashmir’s environmental problems are interconnected. One platform that becomes the single source of truth is far more powerful than fragmented tools.
Geo-tagged pollution reporting with community verification, fake resolution flagging, auto-escalation, and public accountability dashboards.
Air quality monitoring, Dal Lake Health Index, STP tracking, glacier monitoring, flood warnings, and weather intelligence.
Cleanup events, food surplus network, petitions, eco-tourism scorecard, and school environmental challenges.
AI-powered crop disease diagnosis, hyper-local micro-climate alerts, and live market price intelligence.
Green Passport with Chinar Points, QR-verified waste collection at trek base camps, and eco-certified accommodation directory.
Flood warning via Jhelum gauges, Chinar tree census, noise pollution monitoring, biodiversity atlas, and water quality tracking.
The map is the hero of the application. UI floats above the map, never competing with it. On mobile, bottom sheets keep the map visible at all times.
Offline-capable maps use Protomaps (.pmtiles) — a single 30-50 MB vector tile file for the entire Kashmir Valley. MapLibre GL JS renders at any zoom level with no API key costs.
Light mode is the default. Both themes are fully supported via CSS variables and prefers-color-scheme.
Every dataset TerraFlow generates is freely accessible. Journalists, researchers, NGOs, and citizens deserve unrestricted access to environmental truth.
No authentication required for public data. Rate limit: 100 req/min (unauthenticated), 1,000 req/min (with API key).
Every architectural choice prioritizes reliability, performance, and Kashmir’s unique constraints.