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.
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
| 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 |
- 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
- 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
- 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
- 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
- Node.js (v18 or higher)
- npm or bun package manager
-
Clone the repository
git clone https://github.com/your-username/genai-guard.git cd genai-guard -
Install dependencies
npm install # or bun install -
Start the development server
npm run dev # or bun dev -
Open in browser
http://localhost:5173
| 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 |
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
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 |
- 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
MIT License
Built with ♻️ for a sustainable AI future.