🇬🇧 LANGUAGE NOTE FOR JUDGES:

Video: The demonstration video on YouTube is fully recorded in English. It was produced professionally via 11labs (AI voice/video tool recommended by the hackathon organizers in the submission guidelines). All narration, instructions, and explanations in the video are in English.

App interface: The app has a built-in EN toggle in the top-right navigation bar (also visible on the platform). Clicking it switches the entire interface to English — all menus, buttons, labels, and navigation are fully translated. This EN mode was added specifically so judges can evaluate the product in English.

Interview Q&A content: The ESG interview questions and AI responses are currently in Polish, as this product is built specifically for Polish SMEs. Fully localizing the AI conversation layer requires significant time, credits, and resources. The UI translation to English is complete; the conversational content is the only part remaining in Polish.

All submission materials (project description, testing instructions, documentation) are written in English.

🚀 Try It Now — How to Use the App

👉 Live app: https://impact-insight-poland.vercel.app

Step-by-step guide for judges:

1. Start the ESG Interview In the left sidebar, click "Company profile" (under ESG INTERVIEW). A screen will appear asking you to enter your company name.

2. Enter a company name Type any company name — for example "Green Tech Sp. z o.o." or anything you like — and click Continue. The app will check AWS DynamoDB: if that name already exists, your previous session is restored automatically. If it's new, a fresh session starts.

3. Complete the 4-section ESG interview Work through all four sections in the sidebar: Company profile → Environment → Social → Governance. Each section is a conversational AI interview powered by Amazon Bedrock (Claude Sonnet 4.6). Answer the questions and click Next to proceed.

4. Generate your ESG report Once all sections are complete, click "Report" in the left sidebar. The AI will generate your full VSME EFRAG 2024 ESG report — with CO₂ calculations, ESG score (0–100), industry benchmarks, and a 12-month action plan.

5. Export your results — two buttons:

  • "Download PDF" — exports your full ESG report as a PDF ready to share with banks or auditors
  • "Export VSME (JSON)" — saves your structured ESG data to AWS DynamoDB and downloads the JSON file. This is the machine-readable format accepted by Polish banks under EBA guidelines for SME ESG risk assessment.

Language note: The app defaults to Polish (it targets Polish SMEs). Use the EN toggle (top-right navigation bar) to switch to English. The full interface — all menus, buttons, and labels — is translated to English. The ESG interview Q&A content is in Polish (localizing AI conversation requires significant resources), but the entire UI and all submission materials are in English.


Inspiration

Over 2.2 million Polish small and medium enterprises will face ESG reporting pressure starting in 2026, when EBA guidelines require banks to assess ESG risk before granting loans. The average ESG audit costs €15,000–€50,000 completely out of reach for a 20-person manufacturing company in Łódź or a family-owned logistics firm in Gdańsk.

I built Impakt.ai because I believe sustainability reporting shouldn't be a privilege of large corporations. Every SME deserves access to the same quality of ESG insight without the consulting bill.

What it does

Impakt.ai guides Polish SMEs through a 58-question AI interview aligned with the VSME EFRAG standard the official EU ESG framework for small businesses. In under 60 minutes, any company with zero ESG expertise can:

  • Complete a conversational AI interview across 4 dimensions: Environmental, Social, Governance, and Company Profile
  • Receive a full ESG report with CO₂ calculations, ESG score (0–100), industry benchmarking, and a 12-month action plan
  • Export a machine-readable VSME JSON file the exact format Polish banks will require from 2026
  • Have their session automatically saved to AWS DynamoDB for future retrieval

Returning companies simply type their company name — data loads instantly, no login required.

How I built it

Frontend: React + TypeScript deployed on Vercel, with a full EN/PL language toggle built during the hackathon.

AI layer: Claude conducts the ESG interview in Polish (the target language for Polish SMEs), via AWS Lambda calling Amazon Bedrock (Claude Sonnet 4.6) replacing the original Lovable gateway to eliminate timeouts and slowdowns.

Database: AWS DynamoDB (esg-reports table, eu-north-1) stores every ESG session with:

  • sessionId — unique UUID per export
  • companyName — for case-insensitive session lookup
  • vsmeData — full EFRAG v1.2.0 JSON with 35 tracked indicators
  • completeness — percentage of VSME fields filled
  • createdAt — ISO timestamp

Session lookup: Two Vercel Serverless Functions handle DynamoDB: /api/save-session saves on every VSME export, /api/lookup-session retrieves previous sessions by company name (case-insensitive).

Report generation: A custom VSME export engine maps interview answers to the official EFRAG v1.2.0 JSON schema, complete with audit trail ID.

I chose DynamoDB as the primary backend because ESG reporting has a simple but demanding access pattern: fast lookups by company name, with no need for complex joins. A Polish SME returns to the platform, types their company name, and expects their previous session to load instantly — DynamoDB delivers that in single-digit milliseconds at any scale. With 2.2 million potential SME clients in Poland alone, I needed a database that wouldn't require re-architecting when the product grows.

Challenges I ran into

The biggest technical challenge was the AI interview freezing during sessions. The original implementation routed through Lovable's AI gateway with a 7-retry exponential backoff loop — worst case, this created 381 seconds of waiting time. I identified and fixed this by:

  1. Migrating the AI backend to AWS Lambda + Amazon Bedrock
  2. Removing the client-side retry loop that was stacking on top of server-side retries
  3. Adding a 45-second hard timeout with proper error recovery

Another challenge was structured data extraction from conversational AI responses. The interview is natural language but I needed structured VSME fields. This required building an extraction layer that maps conversational answers to specific VSME indicators in real time.

Accomplishments that I'm proud of

  • Full AWS stack: Lambda (AI) + DynamoDB (database) + Vercel (frontend) — built entirely during the hackathon period
  • VSME EFRAG compliance: The only ESG tool I know of built specifically for the VSME standard in Polish for SMes
  • Session persistence without login: Company name as identifier, a returning company's data loads in under 200ms
  • 27%+ VSME completeness achieved in a single session, enough for basic bank compliance assessment
  • Production deployed at impact-insight-poland.vercel.app with real users able to complete the full flow

What I learned

  • AWS Lambda cold starts are negligible compared to cascading retry loops, architecture matters more than raw latency
  • Conversational AI and structured data are not mutually exclusive, extraction middleware bridges them
  • Polish SMEs are underserved in ESG tooling, there is genuine demand for this product
  • Building on Vercel + AWS together is genuinely fast. After building the core product over several weeks, I integrated the full AWS stack — Lambda, Bedrock, and DynamoDB in under 36 hours.

What's next for Impakt.ai

  • Amazon Bedrock full migration — AI layer already on Lambda/Bedrock, completing the unified AWS stack
  • Annual Update flow — year-over-year ESG progress tracking (infrastructure already in codebase)
  • Bank API integration — direct VSME JSON submission to partner banks via API
  • Multi-language support — Czech, Romanian, Hungarian versions for Central European expansion
  • Mobile app — PWA → Capacitor → App Store / Google Play
  • ESG score benchmarking dashboard — aggregate anonymised data to show sector averages

Built With

  • amazon-bedrock
  • anthropic-api
  • aws-dynamodb
  • aws-lambda
  • claude-sonnet-4.6
  • node.js
  • react
  • shadcn/ui
  • supabase-edge-functions
  • tailwind-css
  • typescript
  • vercel
  • vite
Share this project:

Updates