Skip to main content

Command Palette

Search for a command to run...

How I Built a Real-Time ESG Risk Scorer using Python, NLP & Streamlit

Updated
2 min read

As a final-year Computer Science student, I wanted to build something meaningful that combines AI and finance. That's how I built the ESG Risk Scorer — a real-time platform that analyzes Environmental, Social, and Governance risks for companies using NLP and live financial news.

What is ESG?

ESG stands for Environmental, Social, and Governance — three key factors investors use to evaluate a company's ethical impact and sustainability.

Tech Stack

  • Python

  • Streamlit (for the interactive dashboard)

  • FinBERT (NLP model for financial sentiment analysis)

  • Sentiment Analysis

  • Real-time news data

How It Works

  • Collects live financial news about companies

  • Runs FinBERT-based sentiment analysis on each news item

  • Categorizes risks into E, S, and G buckets

  • Generates a final ESG risk score per company

  • Displays everything on an interactive Streamlit dashboard Challenges Faced

    The hardest part was fine-tuning the NLP model to correctly classify financial news into ESG categories. Financial language is very specific, and generic sentiment models don't work well. Using FinBERT — a BERT model trained on financial text — solved this significantly.

    Live Demo & GitHub

    Key Learnings

    • How to use domain-specific NLP models like FinBERT

    • Building and deploying real-time data pipelines

    • Creating interactive dashboards with Streamlit

    • Applying AI to solve real-world finance problems