Skip to content
View agirgol's full-sized avatar

Block or report agirgol

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
agirgol/README.md

Ege Ağırgöl

Software developer in Istanbul. Currently technical co-founder at Saspera, building an ESG reporting platform; before that, core banking APIs across five countries and production systems for a defence engine manufacturer.

Environmental engineering degree, which is why the repositories below are what they are.

Carbon accounting, in three layers

These are not three projects. They are one system, split where the seams belong:

carbon-accounting-dotnet     the arithmetic
        ↓                    GHG Protocol / ISO 14064-1, source-cited factors,
        ↓                    AR4/5/6 potentials, unit conversion — zero dependencies
        ↓
mcp-carbon-server            the protocol surface
        ↓                    MCP tools, schemas, stdio and Streamable HTTP.
        ↓                    Gives a language model real accounting instead of
        ↓                    a half-remembered emission factor
        ↓
esg-ui-kit                   the visual layer
                             React components typed against the server's contracts,
                             so a tool result renders with no adapter in between

The split is deliberate: the accounting has to be usable from an ERP or a batch job, not only from a chat client.

→ Storybook · → Live demo

The demo runs the whole chain: type a quantity, and the tools execute over MCP against the deployed server while the results render through the component kit.

What they are careful about

A greenhouse gas figure is easy to compute and easy to get subtly, invisibly wrong. Most of the work in these repositories is refusing to do that:

  • A number never travels without its unit — not in the API, not in the types, not on screen
  • Biogenic CO₂ is disclosed outside the scopes, so it is never a stack segment
  • Scope 2 is reported under both methods, and only one of them belongs in a total
  • A capped search result says how many it capped, because 25 of 98 reads exactly like 25
  • A factor set that has not been checked against its source is marked unfit to disclose
  • A figure whose publisher gave no gas breakdown cannot be re-aggregated under a different assessment report — restating it would mean inventing a split nobody published

Every categorical colour in the kit was validated under colour-vision-deficiency simulation rather than chosen by eye, and the first palette failed.

Elsewhere

C# · .NET · Java · Spring Boot · TypeScript · React · Next.js · PostgreSQL · Oracle PL/SQL · Kafka · Docker · Kubernetes · Azure

LinkedIn · egeagirgol@gmail.com

Pinned Loading

  1. esg-ui-kit esg-ui-kit Public

    React components for GHG Protocol sustainability reporting. Scope 1/2/3 breakdown, emission intensity, inventory tables and disclosure-grade report previews, typed against the mcp-carbon-server con…

    TypeScript

  2. mcp-carbon-server mcp-carbon-server Public

    An MCP server for GHG Protocol greenhouse gas accounting. Scope 1/2/3 over a source-cited emission factor catalog, AR5/AR6 GWP selection, unit conversion, stdio and Streamable HTTP. Built on GhgAcc…

    C#

  3. carbon-accounting-dotnet carbon-accounting-dotnet Public

    GHG Protocol and ISO 14064-1 aligned carbon accounting for .NET. Scope 1/2/3, AR5/AR6 GWP selection, source-cited emission factors, zero dependencies.

    C#

  4. ledger-core ledger-core Public

    Double-entry ledger for the JVM. Immutable and append-only, balance enforced at construction, multi-currency with each currency balancing on its own, point-in-time balances. Framework-free domain, …

    Java

  5. polyglot-microservices-reference polyglot-microservices-reference Public

    Production-shaped microservice reference: three services across .NET 10 and Spring Boot, wired through Kafka with a transactional outbox, one distributed trace from gateway to consumer. Every archi…

    C#

  6. turkish-legal-retrieval turkish-legal-retrieval Public

    Retrieval measured on Turkish legislation: a gold set built from the law's own cross-references rather than generated questions, pipeline comparisons across chunking, hybrid search and reranking, a…

    Python