Inspiration
European companies are legally required to report on sustainability under the Corporate Sustainability Reporting Directive (CSRD) using the European Sustainability Reporting Standards (ESRS). However, most companies do not know where they stand, what is missing, or how to fix their disclosures. We wanted to build a tool designed for regulation rather than vanity metrics, providing exactly what a compliance officer needs on a single screen without dashboard sprawl.
What it does
The ESRS Compliance Engine takes a company's Annual Management Report or a plain-text description, along with four basic inputs: headcount, revenue, total assets, and reporting year. It covers all ESRS standards—Environmental, Social, Governance, and Cross-cutting—and produces a unified output that answers two questions:
- Where do you stand? It calculates a single compliance score from 0 to 100, measuring how complete your ESRS disclosures are relative to what is legally required for your company size.
- How do you fix it? It generates prioritized, actionable recommendations grouped by urgency tiers (Critical, High, Moderate, Low) that dictate exactly what the company needs to disclose next. ## How we built it We decoupled our stack using a typed JSON interface shared between the frontend and backend. The frontend was built using Next.js 14, TypeScript, and Tailwind CSS. The backend uses FastAPI and Anthropic Claude, orchestrated as a LangGraph 3-agent pipeline in Python.
The pipeline processes data sequentially using Server-Sent Events (SSE) for real-time streaming:
- Extractor: Reads the input (either structured iXBRL or free text) and extracts ESRS claims, company metadata, and financial context.
- Scorer: Loads the ESRS knowledge base (
master_requirements.json), determines the CSRD size category, identifies applicable standards, and computes the 0–100 completeness score deterministically without an LLM call. - Advisor: Reads the score and coverage gaps, generates one recommendation per missing or partial standard, assigns priority tiers, and assembles the final result. ## Challenges we ran into
- The "Cold Start" Market Pivot: Initially, we only built the system to ingest and analyze highly structured data and existing 100+ page ESG reports. However, we quickly realized there was a massive market segment—SMEs and non-EU companies looking to enter the market—who don't have these documents yet. We had to rapidly redesign our input layer and Advisor Agent to guide companies from a blank slate, offering predictive roadmaps based purely on their basic company metrics (revenue, headcount, sector).
- From ESG "Advice" to Strict "Compliance": Mid-hackathon, we completely pivoted the output of our Advisor Agent. We started by trying to generate broad "ESG strategy advice," but realized LLMs can easily drift into subjective, hallucinated corporate jargon. We shifted to generating strict compliance advice. LLMs are incredibly powerful at deterministic rule-following (checking user states against our JSON legal schema) rather than inventing green strategies, so we aligned our product to fit the actual strengths of the technology. ## Accomplishments that we're proud of Knowledge-Base-Driven Architecture: All CSRD thresholds, ESRS requirements, and phase-in schedules live in a single JSON file, meaning we can update regulations without having to change the underlying code.
- Dual-Input Processing: We built the engine to successfully handle both high-confidence structured documents (XHTML/iXBRL converted to JSON) and lower-confidence, best-effort plain text mapping using identical scoring formulas.
- Deterministic Scoring: We engineered the Scorer agent to calculate compliance mathematically based on the typed legal rules, removing the need for an LLM call during the scoring logic. ## What we learned We learned that while AI is fantastic at pulling information out of messy documents, it shouldn't be trusted to calculate strict legal compliance. By letting the AI do the reading and a hard-coded rule engine do the grading, we created a much more reliable tool. We also realized that since many companies are just starting their sustainability journey, our system needed to be flexible enough to analyze a simple plain-text description just as accurately as a massive, formal financial report. ## What's next for ESGateway
Holistic ESG Compliance: Expanding our knowledge base and rule engine beyond just environmental sustainability (the "E") to cover the full spectrum of Social and Governance directives. This includes integrating upcoming regulations like the Corporate Sustainability Due Diligence Directive (CS3D) for supply chain monitoring and labor rights.
Continuous Compliance Monitoring: Transitioning from a one-off audit tool to a dynamic, always-on engine. Companies will be able to continuously upload quarterly financials, cap tables, or live operating metrics, receiving real-time alerts and updated recommendations the moment they approach new regulatory growth thresholds.
Multi-Modal Data Ingestion: Upgrading our Extractor Agent to handle multi-modal inputs. We want to allow companies to upload not just text PDFs, but raw ERP data dumps (Excel/CSV), images of manufacturing facilities, and even audio transcripts from stakeholder meetings for a much richer Double Materiality assessment.
Refined Scoring Mechanisms: Enhancing our mathematical models to include sector-specific benchmarking, allowing companies to see not only their own "Say-Do Gap" but also how their taxonomy alignment compares against anonymized industry peers within the EU.
Automated Report Generation: Moving beyond generating strategic advice to actually generating the compliance artifacts themselves. We plan to output draft, legally-formatted XHTML and iXBRL-tagged reports ready for direct submission to national registries and the upcoming European Single Access Point (ESAP).
Built With
- agentic
- claude
- compliance
- esg
- python
- react
- tailwind
- typescript
Log in or sign up for Devpost to join the conversation.