Climate intelligence for African nations - Next 15 + Cloudflare Pages. Real-time temperature, precipitation, CO₂ and NDVI series with AI-generated policy briefs.
# ClimaChain
Climate intelligence dashboard for African nations - temperature, precipitation,
CO₂ emissions and vegetation (NDVI) signals paired with policy briefs that are
**computed deterministically from the loaded data**, then optionally refined by
DeepSeek for tone.
A Neuravox Ltd platform.
## Stack
- **Framework**: Next.js 15 (App Router)
- **Hosting**: Cloudflare Workers via `@opennextjs/cloudflare` - single-Worker bundle with `nodejs_compat`
- **UI**: Tailwind v4, Radix primitives, shadcn-style components
- **Typography**: Public Sans across all levels (institutional clarity, high-glare legibility)
- **Charts**: Recharts
- **AI**: DeepSeek via the Vercel AI SDK (OpenAI-compatible endpoint at `
api.deepseek.com`)
- **Data**: World Bank Indicators API (live), deterministically reconstructed
from CCKP / CMIP6 baselines when the live source is unavailable. NDVI uses
regional vegetation baselines and is ready for Copernicus DataSpace integration.
## Getting started
```bash
npm install
cp .dev.vars.example .dev.vars # optional: add DEEPSEEK_API_KEY
npm run dev
```
Visit .
The AI briefs work **without a key** - the route synthesises a 4-5 sentence
data-grounded policy memo from the loaded series. Adding a `DEEPSEEK_API_KEY`
only enables a DeepSeek pass to tighten the prose. Get a key at
.
## Deploying to Cloudflare
```bash
# build the Worker bundle
npm run preview # builds + runs locally on Wrangler
# or
npm run deploy # builds + deploys to Cloudflare
```
For repo-driven deploys via the Cloudflare dashboard:
- **Framework preset**: Next.js
- **Build command**: `npx opennextjs-cloudflare build`
- **Output directory**: `.open-next`
- **Compatibility flags**: `nodejs_compat`
- **Secrets**: `npx wrangler secret put DEEPSEEK_API_KEY` (optional)
## Design system
Implements the **Arid Health Management** design system ("Geology of Care"):
warm light-first "Salt Sand" canvas (`#fff8f5`), terracotta primary (`#98421f`),
deep-sag …