Inspiration

To be honest, impact was the driving force that inspired me to build/develop the GreenChain project, I think it's pretty evident that our carbon footprint is becoming or already is of concern, globally, and I feel that GreenChain can and should be used as that collaborative partner to help the process of analyzing the carbon footprint of industrial companies, globally.

What it does

GreenChain serves and function as a collaborative partner in drafting a GHG inventory from mixed period evidence, ERP CSV, utility PDFs, and invoice photos, then asks a human only when a conflict would have move company tCO2e by more than 5%. The confirmed choice is stored as that company's policy, so the next close applies it without asking again.

How we built it

GreenChain is basically three Cloud Run Services: a Next.js workspace, a Python ADK agent (audit_lead on Gemini 3.5 Flash), and a FastMCP HTTP tool service (ERP, factors, persist, memory). The analyst names a company, drops a mixed pack (CSV, PDF, photo), and the host streams an SSE job log. The agent drafts the inventory first, Python then attaches an A2UI ExtractionConfirm only if two readings would move company tCO2e by more than 5%. Confirm continues the same ADK session and writes the unit to Firestore (or a local file store) as company policy.

Challenges we ran into

Making the agent path fail loudly instead of hanging when MCP or Vertex is down. Keeping A2UI out of Gemini's mouth so the catalog stays valid. Never filling gaps from sample packs when vision or a file class is missing. And owning /health so ADK's own liveness payload could not hide store, MCP, and the engine status.

Accomplishments that we're proud of

A complete draft before any question. A single material gate that actually changes tCO2e. A silent second run with a Policy applied chip. A real FastMCP service on the tool list, not wrapper stubs. Deterministic close when ADK is unavailable, so the demo still works.

What we learned

Briefly, during the production of this project, I learned some new concepts with regards to agent operability, build and deployment to Cloud Run which was a bit tricky at first, but it wasn't much of a challenge which is why I did not include it as a challenge in the Challenge section of this doc.

What's next for GreenChain

My desired plan for scaling is to keep one orchestrator, but put auth and multi-tenant isolation in front of Firestore so many companies can close in parallel. Queue long vision/extract jobs instead of trying them to one HTTP request. Point ERP and Climatiq at live systems per tenant, with the fixture catalog remaining last-escort only. Add more material gates (scope, category, double-count) behind the same 5% rule, still regenerated in Python, still remembered as policy, rather than turning the workspace into the chatbot.

Built With

  • approuter
  • cloudstorage
  • fastapi
  • fastmcp
  • firestore
  • googleadk
  • nextjs
  • python
  • react19
  • tailwindcssv4
  • typescript
Share this project:

Updates

Submission history