Skip to content

david-ac1/In-Vert

Repository files navigation

In-Vert

The Ledger of Invisible Impact.

In-Vert captures grassroots sustainability actions, verifies them, anchors proofs on Hedera, and aggregates verified actions into composable Impact Pools.

Name origin: "vert" means "green" in French, so In-Vert expresses the idea of being in green and actively greening up places through community action.

Executive Summary

Most environmental effort in emerging markets is informal, local, and undocumented. In-Vert provides proof-of-impact infrastructure for this missing layer.

Core loop:

Submit -> Verify -> Attest -> Reward -> Aggregate -> Reuse

System Architecture

High-Level Architecture

flowchart LR
	U[Contributors] --> FE[Next.js Frontend]
	FE --> API[Express API]
	API --> V[Verification Engine]
	V --> DB[(PostgreSQL on Supabase)]
	API --> DB
	API --> HCS[Hedera Consensus Service]
	API --> HTS[Hedera Token Service]
	API --> HSCS[Hedera Smart Contract Service]
	API --> GEO[Geocoding + EXIF Analysis]
	DB --> IMP[Impact Pools]
	DB --> FOREST[3D Proof Forest]
	IMP --> FE
	FOREST --> FE
Loading

Component Diagram

flowchart TD
	subgraph Frontend
		A1[Submit Action Form]
		A2[Verification Queue View]
		A3[Protocol Receipt View]
		A4[Impact Dashboard]
		A5[Impact Pool Board]
		A6[3D Forest Experience]
	end

	subgraph Backend
		B1[Actions Route]
		B2[Verification Service]
		B3[Queue Service]
		B4[Hedera Service]
		B5[Impact Pools Service]
		B6[Actions Repository]
	end

	A1 --> B1
	B1 --> B3
	B3 --> B2
	B2 --> B6
	B2 --> B4
	A3 --> B1
	A4 --> B1
	A5 --> B5
	A6 --> B6
	B5 --> B6
Loading

Verification and Attestation Sequence

sequenceDiagram
	participant User
	participant Frontend
	participant API
	participant Queue
	participant Verifier
	participant Hedera
	participant DB

	User->>Frontend: Submit action + evidence
	Frontend->>API: POST /api/actions
	API->>DB: Create queued action
	API->>Queue: Enqueue action id
	Queue->>Verifier: processVerification(action id)
	Verifier->>DB: Run checks + persist result
	alt approved
		Verifier->>Hedera: HCS attestation + HTS reward + HSCS register
		Verifier->>DB: Persist attestations and rewards
	else rejected
		Verifier->>DB: Persist rejection reason
	end
	Frontend->>API: GET /api/actions/:id/status
	API->>DB: Read current status
	API-->>Frontend: Verification envelope
Loading

Deployment Topology

flowchart LR
	Browser[Web Client] --> Vercel[Vercel Next.js]
	Vercel --> Render[Render Express API]
	Render --> Supabase[(Supabase Postgres)]
	Render --> Hedera[(Hedera Testnet)]
Loading

Product Modules

1. Submission Layer

  1. Action type, quantity, location, user handle, Hedera account id.
  2. Evidence via URL or uploaded image.

2. Verification Layer

  1. Evidence presence, timestamp validity, quantity bounds, location presence.
  2. Anti-fraud checks: EXIF location distance, stock-photo risk, image hash reuse.
  3. Queue processing with recovery sweep and single-claim processing.

3. Attestation Layer

  1. HCS message submission for proof anchoring.
  2. HSCS contract registration for action-level state.
  3. HTS reward transfer for approved actions.

4. Composability Layer

  1. Impact Pools aggregate approved actions.
  2. Pool hash provides reusable proof primitive.
  3. Pool export endpoint provides partner-facing proof JSON.

5. Visualization Layer

  1. Impact dashboard with protocol stats, feed, leaderboard.
  2. Forest tab with a 3D reforestation scene where each approved action is rendered as a tree.

Data Model (Core Entities)

erDiagram
	USERS ||--o{ ACTIONS : submits
	ACTIONS ||--o| VERIFICATIONS : has
	ACTIONS ||--o| ATTESTATIONS : has
	ACTIONS ||--o| REWARDS : has
	ACTIONS ||--o| ACTION_MEDIA_SIGNALS : has
	IMPACT_POOLS ||--o{ IMPACT_POOL_ACTIONS : includes
	ACTIONS ||--o| IMPACT_POOL_ACTIONS : pooled_in
Loading

Technology Stack

  1. Frontend: Next.js, React, TypeScript.
  2. Backend: Node.js, Express, TypeScript.
  3. Database: PostgreSQL on Supabase.
  4. Blockchain: Hedera SDK using HCS, HTS, HSCS.
  5. Evidence analysis: EXIF parsing, image hashing, geocoding.

Repository Layout

  1. src: frontend app and components.
  2. server/src: API routes, services, repositories.
  3. server/migrations: schema evolution.
  4. server/contracts: contract artifacts and deployment scripts.

Local Setup

Prerequisites

  1. Node.js 22 or newer.
  2. Supabase Postgres connection string.
  3. Hedera testnet account with funded HBAR.

Environment

Create server/.env with at minimum:

SUPABASE_DATABASE_URL=postgres://...
DATABASE_SSL=true

HEDERA_NETWORK=testnet
HEDERA_ACCOUNT_ID=0.0.xxxxx
HEDERA_PRIVATE_KEY=302e...

Install and Run

npm install
npm --prefix server install
npm run server:migrate

Terminal 1:

npm run server:dev

Terminal 2:

npm run dev

Production Deployment

  1. Frontend on Vercel.
  2. Backend on Render.
  3. Supabase as managed database.
  4. Vercel environment variable BACKEND_URL must point to Render API origin.

Operational Reliability

  1. Queue sweep picks pending items that were missed by one-shot processing.
  2. Single-claim processing prevents duplicate workers processing same action.
  3. Processing errors are persisted as terminal verification outcomes.
  4. On-chain failures are logged and surfaced in checks for observability.

Public API Highlights

  1. POST /api/actions
  2. GET /api/actions/:id/status
  3. GET /api/protocol/stats
  4. GET /api/protocol/attestations/:id
  5. GET /api/impact-pools
  6. POST /api/impact-pools
  7. GET /api/impact-pools/:id/export
  8. GET /api/forest/summary
  9. GET /api/forest/trees

Track

Sustainability

One-Liner

In-Vert transforms grassroots environmental actions into verifiable, composable impact assets on-chain.

Description

In-Vert verifies grassroots sustainability actions and records trusted impact proofs on Hedera. Contributors submit evidence, autonomous checks validate authenticity, and approved actions are attested and rewarded. The platform then bundles many approved actions into Impact Pools and exposes proof exports for NGO, sponsor, and future carbon-linked workflows. A live 3D Proof Forest turns approved actions into a growing digital reforestation experience.

Final Checklist (Fill Before Submission)

  1. GitHub repository URL.
  2. Live demo URL.
  3. Demo video URL.
  4. Pitch deck PDF URL.
  5. Team roster and roles.

Commands

npm run lint
npm run build
npm run server:lint
npm run server:build
npm run server:migrate

About

Sustainability Proof-Of-Impact On Hedera's Blockchain

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors