Inspiration
Air pollution is the invisible crisis. It kills roughly 7 million people a year, yet the data that could protect us sits in dense scientific dashboards, scattered across agencies, and written in units (µg/m³, AQI, ppb) that mean nothing to the person breathing the air on their commute.
We kept asking a simple question: what if the planet's environmental data could be felt, not just read? Most climate tools stop at a number. They tell you the AQI is 180 and leave you there. We wanted to close the loop from seeing the environment in 3D, to understanding what it does to your body, to acting on it with your community. That gap between "data" and "lived consequence" is what Terra Globe was built to close.
What it does
Terra Globe is a 3D environmental intelligence, health, and citizen-action platform. It runs a full loop:
See it - a living 3D planetary twin. An interactive Three.js Earth renders photorealistic global aerosol optical depth, real-time AQI heatmaps, and atmospheric scattering. A worldwide search engine flies you to any city or coordinate, then streams live telemetry (PM₂.₅, PM₁₀, temperature, humidity, wind) from Copernicus CAMS and Open-Meteo.
Personalize it - AeroHealth™. Instead of a raw index, we translate pollution into personal biological consequence. The engine computes accelerated aging across four organ systems pulmonary, cardiovascular, dermal, and cerebral plus monthly and annual life-expectancy hours lost, using WHO clean-air baselines and the Global Exposure Mortality Model.
Mobilize - citizen ground truth. Citizens file geotagged pollution reports with photo evidence uploaded directly to the cloud, and join a local civic feed built around four action pillars: complaints, volunteer cleanups, clean-air fundraisers, and scientific discussion. A WHAT-IF policy simulator lets anyone project the physical impact of tree canopies, electric bus fleets, or industrial remediation before a policy is ever funded.
A multi-turn AI Environmental Copilot ties it together with human-readable diagnostics, and the whole app is localized into 10 languages, including full RTL support for Arabic.
How we built it
Frontend - React 19 + TypeScript + Vite, with Three.js for the 3D globe (raycasting, atmospheric shaders, continuous camera flight). State is managed with a lightweight store, charts with Chart.js, and motion with GSAP. The health model. AeroHealth is grounded in epidemiology, not vibes. Excess particulate exposure is measured against the WHO annual baseline:
$$\text{Excess PM}{2.5} = \max!\left(0,\ \text{PM}{2.5} - 5\ \mu\text{g/m}^3\right)$$
and scaled by an exposure factor that accounts for time spent outdoors:
$$\text{Exposure Factor} = \left(\frac{\text{Daily Outdoor Hours}}{24}\right)\times 1.5$$
Organ-specific wear is then bounded by clinically plausible ceilings, e.g. for the lungs:
$$\Delta\text{Years}_{\text{lung}} = \min!\left(9.5,\ \left(\text{Excess PM}\times 0.045 + \frac{\text{AQI}}{85}\right)\times \text{Exposure Factor}\right)$$
Backend & cloud- A Node/TypeScript server exposes REST endpoints for telemetry, reports, the community feed, and the AI copilot. The cloud layer is built on AWS SDK v3 Amazon S3 pre-signed uploads for evidence photos, DynamoDB (DocumentClient) for reports and posts, STS for identity verification, Cognito for citizen accounts, and SageMaker for aerosol anomaly scoring. Infrastructure-as-code ships as a SAM template (API Gateway, Lambda, DynamoDB, S3, Cognito, EventBridge, SNS), plus Step Functions pipelines, Cedar authorization policies, and deployment configs for Amplify and App Runner. Dual-mode by design- The same codebase runs two ways: a zero-cost local mode (LocalStack, SAM CLI, Finch, Corretto) for anyone without a cloud account, and a live cloud mode with real credentials. That made the project reproducible and demo-able anywhere, without a bill.
Challenges we ran into
- Making the globe feel alive without melting the browser. Rendering a detailed Earth with atmospheric scattering, heatmap overlays, and continuous raycasting is expensive. We had to carefully budget geometry, texture resolution, and frame work so it stayed smooth on laptops.
- Turning ppm into something human. Mapping pollution numbers to biological aging meant reconciling WHO baselines, GEMM, and the Lancet Commission into formulas that were both defensible and readable then presenting them without medical jargon.
- Cloud parity without a cloud account. Getting LocalStack, SAM, and the real SDK to behave identically to live AWS (especially pre-signed S3 uploads and DynamoDB queries) took a lot of configuration and fallback logic.
- AI that doesn't sound like a machine. Early copilot responses were full of raw markdown and hedging. We built a human-readable formatter layer to produce clean, actionable guidance.
- Ten languages, one layout. Arabic's RTL switching broke nav, HUD, and modal layouts in ways that only showed up at runtime every component had to be direction-aware.
Accomplishments that we're proud of
- A complete product loop - see → understand → act rather than a single-purpose demo.
- An AeroHealth engine that makes abstract pollution tangible: "this air is costing you ~34 hours of life this month" lands in a way an AQI of 180 never does.
- True dual-mode cloud architecture: identical behavior on a laptop with no AWS account and on live cloud infrastructure.
- A genuinely global interface: 10 languages, RTL support, and worldwide geospatial search.
- A civic feed that turns individual reports into collective action, with a policy simulator that lets communities test interventions before spending money.
What we learned
- Data becomes action only when it's personal. The health translation is what made people lean in.
- Serverless architecture is a design constraint, not just a deployment choice thinking in events, queues, and stateless functions reshaped our backend.
- Great 3D is 90% restraint. The best-looking frames were the ones where we removed detail, not added it.
- Accessibility and internationalization are architecture, not a final coat of paint.
- How to turn epidemiological research into shippable, testable code and how much rigor that actually requires.
What's next for Terra Globe
- Live sensor networks & IoT - ingest community and municipal sensor data for street-level resolution instead of grid averages.
- Forecasting, not just monitoring - train time-series models on SageMaker to predict pollution spikes hours ahead and push proactive health alerts.
- A native mobile companion with background exposure tracking, so AeroHealth follows you through your day.
- Municipal partnerships - expose an open API so city governments can plug Terra Globe into their own dashboards and response workflows.
- Validating AeroHealth with public-health researchers to move from an informed model to a peer-reviewed one.
- Expanding beyond air - water quality, heat islands, and noise, all inside the same planetary twin.
Built With
- amazon-api-gateway
- amazon-cloudwatch
- amazon-dynamodb
- amazon-opensearch
- amazon-web-services
- aws-amplify
- aws-lambda
- chart.js
- copernicus-cams
- docker
- express.js
- google-gemini
- kubernetes
- localstack
- mapbox-gl
- node.js
- open-meteo
- react
- sagemaker
- tailwind-css
- three.js
- typescript
- vite
- zustand
Log in or sign up for Devpost to join the conversation.