Skip to content

Van-der/genai_guard

Repository files navigation

GenAIGuard

Sustainability Intelligence Platform for GenAI Workloads

GenAIGuard is an enterprise dashboard application designed to monitor, analyze, and optimize the environmental impact of Generative AI systems. It helps organizations track carbon emissions, energy consumption, and water usage while ensuring compliance with sustainability regulations.

Overview

As AI adoption accelerates, so does its environmental footprint. GenAIGuard addresses this challenge by providing:

  • Real-time ESG Metrics — Monitor energy consumption (MWh), carbon emissions (CO₂e), and water usage across AI workloads
  • Baseline vs. Simulation Separation — Clearly distinguishes observed (baseline) metrics from projected (what-if) simulations
  • Business Context Analysis — Filter metrics by business unit (Claims, Customer Support, Risk Analytics) and AI use case (Chatbots, Document Processing, Predictive Analytics)
  • Optimization Simulations — Model the impact of sustainability improvements like switching cloud regions, reducing context windows, or scheduling off-peak training
  • AI Deployment Simulator — What-if sandbox for exploring model size and context window trade-offs with fixed workload assumptions
  • Compliance Reporting — Generate detailed sustainability reports with separate Observed and Projected impact sections
  • Dynamic Time Periods — View metrics across 7-day, 30-day, or 90-day windows with scaled data

Tech Stack

Category Technology
Framework React 18
Language TypeScript
Build Tool Vite
Styling Tailwind CSS
UI Components shadcn/ui (Radix Primitives)
State Management Zustand
Data Fetching TanStack Query (React Query)
Routing React Router v6
Charts Recharts
Icons Lucide React

Features

ESG Dashboard

  • Baseline Metrics (Observed) — Current operational metrics that are never modified by simulations
  • Projected Metrics (Simulated) — Expected impact if proposed optimizations are implemented
  • Interactive emissions breakdown chart (Inference, Fine-Tuning, Training)
  • Live metrics cards with trend indicators and cost estimates
  • Sustainability risk indicator based on carbon intensity
  • Business context filtering for accurate impact assessment

Optimization Engine

  • Approve (Simulated) — Mark optimizations as approved proposals
  • Schedule — Set a future date for proposed implementation
  • Undo — Revert any approved or scheduled optimization
  • Calculate projected CO₂ savings and cost reductions
  • Visual comparison of baseline vs. projected metrics

AI Deployment Decision Simulator

  • What-if sandbox for exploring configuration changes
  • Model size slider (7B / 13B / 70B parameters)
  • Context window slider (4k / 16k / 32k tokens)
  • Fixed Workload Assumption — Request volume remains constant during simulation
  • Monotonic savings: reducing model size directly reduces energy/CO₂
  • Apply, update, or reset simulation proposals

Report Generation

  • Section 1: Report header with generation timestamp
  • Section 2: Observed Impact (Baseline) — actual current metrics
  • Section 3: Projected Impact (Proposed Optimizations) — expected savings
  • Clear disclaimers distinguishing simulated vs. executed changes
  • Printable/downloadable sustainability reports

Getting Started

Prerequisites

  • Node.js (v18 or higher)
  • npm or bun package manager

Installation

  1. Clone the repository

    git clone https://github.com/your-username/genai-guard.git
    cd genai-guard
  2. Install dependencies

    npm install
    # or
    bun install
  3. Start the development server

    npm run dev
    # or
    bun dev
  4. Open in browser

    http://localhost:5173
    

Available Scripts

Command Description
npm run dev Start development server with hot reload
npm run build Build for production
npm run preview Preview production build locally
npm run lint Run ESLint for code quality

Project Structure

src/
├── components/
│   ├── ui/              # shadcn/ui components
│   ├── ESGDashboard.tsx # Main dashboard with baseline/simulation separation
│   ├── NavLink.tsx      # Navigation component
│   └── PipelineFlowchart.tsx
├── hooks/
│   ├── useSimulationStore.ts  # Zustand store for baseline & simulation state
│   └── use-mobile.tsx
├── pages/
│   ├── Index.tsx        # Home page (dashboard)
│   ├── Report.tsx       # Sustainability report (Observed + Projected)
│   └── NotFound.tsx     # 404 page
├── lib/
│   └── utils.ts         # Utility functions
├── App.tsx              # Main app with routing
└── main.tsx             # Entry point

Architecture Notes

Baseline vs. Simulation Separation

The application maintains a clear distinction between:

Type Description Modifiable
Baseline (Observed) Actual operational metrics from AI workloads Never modified by simulations
Projected (Simulated) Expected metrics if proposals are implemented Updated based on user actions

Simulation Assumptions

  • Fixed Workload Volume — Request volume remains constant during simulation
  • Monotonic Savings — Reducing model size always reduces energy/CO₂
  • No Side Effects — Efficiency gains don't increase throughput or usage
  • PoC Mode — All data is simulated; no live cloud/production data

License

MIT License


Built with ♻️ for a sustainable AI future.

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages