Inspiration

An AI-powered tool to simplify ESG (Environmental, Social, Governance) report analysis — transforming hours of manual reading into instant, actionable insights.

✨ Inspiration In today’s corporate world, ESG compliance plays a crucial role in measuring a company’s ethical impact and sustainability. However, ESG reports are often:

Lengthy (50+ pages),

Densely worded, and

Full of corporate jargon.

I realized how time-consuming and error-prone manual ESG analysis is — especially for investors, researchers, and auditors. That’s when I decided to build a tool that could:

what it does

🧠 “Automatically read, interpret, and score ESG reports using AI + NLP.”

How we built it

🔧 Tech Stack Frontend: React + Tailwind CSS

Backend: FastAPI (Python)

NLP: spaCy, VADER Sentiment

PDF Parsing: PyMuPDF

Logic: Regex-based pattern detection + sentiment scoring

🔁 Step-by-Step Process PDF → Text Convert uploaded ESG PDF into plain text using PyMuPDF.

Sentence Tokenization Use spaCy to split content into meaningful sentences.

Pattern Matching Apply regular expressions to detect ESG-specific phrases like:

regex Copy Edit net\s?zero → “Net Zero Target” carbon\sneutral → “Carbon Neutrality” diversity\s(and|&)\sinclusion → “Diversity & Inclusion” Sentiment-Weighted Scoring Every match is weighted using VADER compound score 𝑠 s, so that:

ESG Score Contribution

Pattern Weight × 𝑠 ESG Score Contribution=Pattern Weight×s Positive phrases increase the score

Negative terms (e.g., "corruption", "fines") decrease it

False Positive Filter Special rule-based filter avoids flagging phrases like:

“We prohibit all forms of corruption.”

as negative — by checking:

Exception keywords

Negations using spaCy’s dependency tree

Final ESG Score

Total ESG Score

min ⁡ ( 10 , max ⁡ ( 0 , 5 + Net Contribution ) ) Total ESG Score=min(10,max(0,5+Net Contribution)) Then broken down into:

Environment (40%)

Social (30%)

Governance (30%) 📄 Uploads a company's ESG report (PDF)

🔍 Uses NLP to extract key positive and negative indicators

📊 Assigns an ESG score across:

Environment

Social

Governance

✅ Gives a final investment recommendation

📥 Lets you download the summary as a report

Challenges we ran into

One of the biggest challenges I faced was that positive sentences like “prohibit corruption” were getting wrongly flagged as negative just because they contained the word corruption. To fix this, I implemented a custom exception handler that used regex and context-aware negation logic. This allowed the system to recognize when corruption was being condemned, not committed.

Another issue was dealing with vague or loosely related phrases that triggered false positives. To make the detection smarter, I integrated VADER sentiment analysis, which helped in validating whether a sentence was actually positive, neutral, or negative before scoring it.

Additionally, I noticed that the same sentence could be counted multiple times if it matched multiple patterns. To avoid duplicate detections, I used a seen_sentences set that ensured each sentence contributed to the score only once, keeping the analysis fair and accurate.

Designing a fair ESG scoring logic was also tricky. I didn’t want it to be purely keyword-based, so I blended rule-based pattern matching with sentiment-weighted scoring. This made the system more context-aware and realistic.

Finally, building a clean and intuitive UI for the ESG analyzer required careful planning. I tackled this by modularizing the frontend in React, with clearly separated components for uploading, displaying analysis, score breakdown charts, and final recommendations.

Accomplishments that we're proud of

I am incredibly proud of building a fully functional AI-powered ESG Analyzer that processes real-world corporate ESG reports and generates insightful, data-driven risk assessments in seconds. One of our biggest achievements was designing a scoring engine that balances rule-based keyword detection with sentiment analysis, making it context-sensitive and far more accurate than rigid string-matching systems. We also tackled a complex NLP challenge—differentiating ethical policies from actual allegations—by crafting a custom exception and negation handler. On the frontend, we’re proud of delivering a clean, professional React dashboard that displays the ESG score breakdown in an intuitive and visually appealing way. Overall, building a product that can assist analysts, investors, and researchers in making more responsible, sustainability-aware decisions is something we take great pride in.

What we learned

How to process real-world unstructured data (PDF → Clean Text)

Applied NLP and Sentiment Analysis practically

Designed scoring systems with explainability

Learned about ESG frameworks and corporate ethics

Enhanced backend skills using FastAPI

What's next for Smart Esg Analyzer

User authentication & history tracking

Multi-report comparison

PDF export of the ESG summary

Real-time ESG trends dashboard for investors

Built With

Share this project:

Updates