Climate Sentiment Meter

A dashboard that visualizes daily climate news sentiment as an animated gauge dial. Scores articles from 15 RSS sources with a RoBERTa transformer and displays results in a three-column Negative / Neutral / Positive layout.

Live Dashboard Source Code

Climate Sentiment Meter aggregates climate news from 15 sources — including Carbon Brief, The Guardian, Inside Climate News, Grist, Yale Climate Connections, and Canary Media — scores each article’s sentiment, and renders the daily average as an animated D3.js gauge dial ranging from “Alarming” to “Hopeful.”

A cron-driven Python pipeline fetches articles via RSS, runs them through a RoBERTa transformer model fine-tuned on news and social text, and stores results in Supabase. The frontend reads directly from the database — no backend server.

Tech: React, Vite, D3.js, Python, Supabase (Postgres), RoBERTa (cardiffnlp/twitter-roberta-base-sentiment-latest).

Features:

  • Semi-circular D3.js gauge with color-coded segments and animated needle
  • Three-column article layout: Negative / Neutral / Positive
  • Automated RSS ingestion from 15 climate news sources via daily cron job
  • Per-article sentiment scoring with a transformer model (P_pos − P_neg mapped to a 7-class label scale)
  • Daily sentiment aggregation (average, min, max, article count)

Documentation: