How I Built a Real-Time ESG Risk Scorer using Python, NLP & Streamlit
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
🚀 Live App: https://esg-risk-scorer.streamlit.app/
💻 GitHub: https://github.com/2200032705-SREEJA/esg-risk-scorer
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