System design

EarthPulse architecture

One screen for docs: traffic flows left to right; APIs and outbound services below. Logos are embedded (no external image CDN). Screenshot for Devpost or GitHub.

← Back to app
1 — Clients
Web browser
Mobile web
2 — Edge & host
Vercel
GitHub
3 — Application
Next.js 16
React 19
TypeScript
Tailwind v4
4 — 3D & motion
Three.js
globe.gl3D globe
Framer Motion
5 — Serverless API routes

Next.js route handlers · secrets from Vercel env

GET /api/analyze
Stress report, weather, optional AQI
GET /api/satellite
Map still / bbox
POST /api/dead-zone-story
AI narrative (IBM watsonx, then Gemini…)
POST /api/dead-zone-reading
Reading links
POST /api/plan
Climate plan panel
POST /api/place-research
Place research brief
6 — Data & AI (outbound HTTPS)
IBM watsonx.aiNarratives
Google Gemini
OpenAI
Open-MeteoWeather API
OpenWeatherAQI (optional)
OSM / Nominatim
src/lib/deadZones*.tsCurated catalogueShipped in app

EarthPulse · Build for the Planet