· Ed Dowding · Portfolio · 2 min read
SouthPole Market Intelligence Platform
Real-time carbon market intelligence platform tracking prices, policy changes, and project pipelines across voluntary and compliance markets globally.

The Problem
Carbon markets are fragmented across registries (Verra, Gold Standard), geographies (EU ETS, California), and project types (forestry, renewable energy, tech removal). Market participants lack unified visibility into pricing trends, supply/demand dynamics, and regulatory changes. Result: inefficient price discovery and missed opportunities.
What I Built
A centralized market intelligence platform for SouthPole’s trading and advisory teams:
- Price Aggregation: Real-time carbon credit prices from 12+ registries and exchanges
- Supply Pipeline Tracking: Monitor projects in development (future credit issuance forecasts)
- Policy Change Alerts: Track regulatory updates across 40+ jurisdictions with impact analysis
- Comparative Analytics: Benchmark projects by vintage, geography, co-benefits, and methodology
Tech Stack
Web scrapers + APIs for data ingestion, PostgreSQL + TimescaleDB for time-series storage, Airflow for orchestration, Next.js + Recharts for dashboards, webhooks for real-time alerts.
Lessons Learned
Data Quality > Data Volume: Scraping 50 sources produced noisy, unreliable data. Partnering with 5 authoritative sources (Gold Standard API, Verra registry) plus manual validation yielded better insights. Lesson: in B2B data products, trust trumps comprehensiveness.
Alerts Drive Engagement: Initially built as dashboard (users checked weekly). Adding Slack alerts for price movements and policy changes increased daily active usage 10x. Lesson: push notifications for time-sensitive insights beat pull-based dashboards.
Domain Terminology Matters: Early UI used generic terms (“projects,” “credits”)—carbon traders didn’t recognize their workflow. Adopting industry jargon (“vintage,” “issuance,” “buffer pool”) unlocked adoption. Lesson: speak the user’s language, even if it’s jargon.