Skip to content

Carbon Atlas: A business-friendly multi-policy indexer frontend #5833

@gautamp8

Description

@gautamp8

Problem

The current Guardian Indexer frontend (indexer-frontend/) presents blockchain-native data - VC documents, consensus timestamps, Hedera topic IDs, document hashes - which is meaningful to developers but opaque to the non-technical stakeholders who make up the majority of the carbon markets ecosystem: project developers, buyers, VVBs, registry operators etc.

Our research from working with ecosystem partners like Allcot, Verra, Gold Standard, Earthood, Atec Global has consistently identified the same core friction:

"As a business user, I simply want to see projects and issuances data instead of transactions so that I can understand what happened without blockchain and technical knowledge."

Specific gaps identified in the current indexer UI:

What users see today What they need
VC Document lists with MongoDB IDs Project names, credit issuances, monitoring reports
Consensus timestamps as identifiers Human-readable dates and status labels
Raw credentialSubject JSON blobs Structured views - emission reductions, device data, verification findings
Entity types like approved_report Business terms - "Verified Issuance", "Monitoring Report"
Single flat document list Per-policy dashboards with aggregated stats, charts, and filterable tables
No data lineage visibility Trust chain visualization - trace a credit from issuance back to raw device data
Technical-only interface Dual views - business abstractions for stakeholders, raw VC/proof data for developers

Proposal: Carbon Atlas

Carbon Atlas is a multi-policy indexer frontend that translates Guardian's on-chain Verifiable Credentials into business-friendly dashboards. It connects to the existing Guardian Indexer API - no backend changes needed(yet).

What it does today (working, deployed)

Built as a production dashboard for the Gold Standard MECD 431 (Metered & Measured Energy Cooking Devices) policy on testnet:

  • Policy Dashboard - Summary cards showing verified issuances, total tCO₂e emission reductions, active projects, and monitored device count. Emission timeline chart and device distribution map.
  • Trust Chain Explorer - Click any issuance to see the full VC chain: Approved Report → Verification Report → Monitoring Report → Daily MRV → Project → VVB. Each node shows its entity type, status, and links to the Hedera proof.
  • VC-Type Renderers - Dedicated business-friendly views for each document type:
    • Monitoring Reports: emission reduction breakdown (ER_y = BE_y − PE_y − LE_y), monitoring period, baseline case
    • Device Data: searchable, sortable, paginated table of all metered cooking devices with device ID, date range, and energy consumption
    • Verification Reports: structured findings, GHG duration data, conclusion
    • Projects: project details, crediting period, methodology, project developer
    • VVB: registration details, DID, Guardian version
  • Hedera Proof Links - Every document links directly to its HCS message on HashScan
  • Document Verification - Paste any consensus timestamp to look up and verify a VC
  • Auth Proxy - Server-side proxy injects the Bearer JWT so the API token never reaches the client bundle. TanStack Query caching (15 min stale, 1 hr GC) minimizes API calls.

Main dashboard screenshot

Image

Trust chain view

Image

Monitoring report layout

Image

Device data layout

Image

What's planned next

Multi-policy architecture to support any Guardian policy, starting with:

  1. VM0033 (Verra) on mainnet - Allcot's ABC Mangrove project in Senegal, currently undergoing validation
  2. Extensible policy registry - add any policy by defining a config file (entity types, renderers, dashboard layout)

Key features in the multi-policy plan:

  • Landing page with policy cards (methodology, standard, network, project developer)
  • URL-routed dashboards - /policy/mecd/dashboard, /policy/vm0033/dashboard - shareable, bookmarkable
  • Per-policy dashboard config - each policy defines which stat cards, charts, and tables to show
  • Searchable PDD viewer - VM0033's 300+ field Project Design Document rendered with inline fuzzy search (using cmdk), making it possible to navigate massive PDDs without scrolling through raw JSON
  • Multi-network support - single proxy routes to testnet or mainnet based on policy config
  • "Adding a Policy" guide - documentation for community contributors to onboard new policies

Architecture

Guardian Indexer API (existing, unchanged)
  ↓
/api/proxy/[...path]  (server-side auth proxy, routes to testnet/mainnet)
  ↓
TanStack Query (client-side caching, per-policy query key isolation)
  ↓
PolicyContext (React context providing policy config to all components)
  ↓
Per-policy renderers, dashboards, and navigation

No changes to the Guardian Indexer API or backend are required at the moment.
Carbon Atlas is a pure frontend that consumes the existing API. Future API improvements may be planned under same project.

Tech Stack

Next.js 16 (App Router) · React 19 · TanStack Query · shadcn/ui · Tailwind CSS 4 · Vitest

Repository

Current code: https://github.com/gautamp8/mecd-indexer (will move to guardian/carbon-atlas/ upon acceptance)

Proposed Location in Guardian Repo

guardian/
  carbon-atlas/          ← new directory (peer to indexer-frontend/)
    app/
    components/
    lib/
    hooks/
    public/
    ...

Carbon Atlas is complementary to the existing indexer-frontend/. It does not replace or modify the existing indexer - it adds a business-friendly layer on top of the same Indexer API.

Future scope:

  • User authentication and personalized dashboards
  • Advanced projects, credit discovery and comparison views
  • SDG-based filtering and impact reporting
  • Export/reporting features (CSV, PDF)
  • Credit transfer and retirement tracking

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions