Verdi is a browser extension that helps people make greener purchase decisions while they shop online.
Instead of forcing users to leave their shopping flow and research sustainability manually, Verdi analyzes product pages in place and surfaces clear environmental signals at decision time.
- Estimated total product impact in kgCO2e.
- Material-level carbon breakdown.
- Country/countries of origin.
- Real-world comparison using equivalent car miles driven.
- Similar item and ecological alternative suggestions.
Shoppers can compare price, delivery, and reviews in seconds, but environmental impact is usually hidden or hard to interpret. Verdi closes that gap by turning climate impact into something understandable and actionable right in the browser popup.
- User opens an ecommerce product page.
- Verdi detects if the page is a buyable product page.
- Verdi analyzes the page context in the background.
- Popup shows total impact, material impacts, origin, and a car-mile equivalency.
- User can explore similar products and eco alternatives instantly.
If the user is not on a product page, Verdi clearly states:
Please go on a product page for the extension to work
The content script gathers structured context from the page, including title, description, brand hints, price text, bullets, headings, and URL.
Verdi only runs extraction and analysis when the page has buyable-product signals such as:
- Price indicators.
- Add-to-cart or buy-now style CTAs.
- Product metadata/schema hints.
The background worker sends context to Gemini for structured extraction:
- Category.
- Weight.
- Materials and percentages.
- Material-level CO2 factors.
- Brand.
- Country/countries of origin.
When key fields are uncertain, Verdi can run a search-enriched pass and merge results.
The popup computes and displays:
- Total impact first.
- Material-by-material impact next.
- Country/countries of origin after that.
- Equivalent gasoline-car miles to make impact intuitive.
Verdi uses deterministic math in the popup to convert extracted material data into a readable impact estimate.
- Material impact:
- Total product impact:
- Car miles equivalency:
Where 0.404 kg CO2e/mile is from the U.S. EPA estimate for an average gasoline passenger vehicle.
Primary references used:
- U.S. EPA, Greenhouse Gas Emissions from a Typical Passenger Vehicle (8,887 g CO2 per gallon gasoline; approximately 400 g CO2 per mile): https://www.epa.gov/greenvehicles/greenhouse-gas-emissions-typical-passenger-vehicle
- U.S. EPA equivalency convention commonly used in calculators (0.404 kg CO2/mile): https://www.epa.gov/energy/greenhouse-gas-equivalencies-calculator
- NIST SI conversions used for weight normalization logic (kg, g, lb): https://www.nist.gov/pml/owm/si-units-mass
Notes on factor provenance:
- Material CO2 factors are model-assisted estimates inferred by Gemini from product context and common industry values.
- These are directional estimates, not audited product life-cycle assessments.
- Because factors may vary by supplier/process/region, Verdi presents results as practical guidance rather than certification-grade values.
Settings include:
- Dark/Light theme (Dark default).
- Disable/enable auto-opening popup on product pages.
- Verdi stores latest analysis and user settings in browser local storage.
- API keys are local and not intended for source control.
- No account required.
- Visit a normal non-product page and see the guard message.
- Visit a buyable product page and show automatic analysis.
- Open popup and highlight Total Impact plus car-mile comparison.
- Show material-level impact and origin fields.
- Open Settings and toggle theme and auto-open behavior.
- Show similar items and ecological alternatives.
- Plasmo (Manifest V3 extension framework).
- React + TypeScript popup UI.
- Chrome Extension APIs (runtime, tabs, storage, action).
- Gemini API for structured sustainability inference and suggestions.
Verdi is currently built/tested primarily for Chrome-compatible browsers. To make it available broadly, we can use the same core codebase with browser-specific packaging, QA, and store submission.
- Chrome: Chrome Web Store distribution.
- Edge: Microsoft Edge Add-ons (same Chromium codebase, minimal changes).
- Brave/Opera/Vivaldi: generally compatible with Chrome build and extension APIs.
- Firefox: build and validate against Firefox WebExtensions requirements.
- Safari: package as a Safari Web Extension using Apple's tooling and notarization flow.
- Node.js 18+.
- npm.
- Gemini API key.
npm installCreate or edit gemini-key.ts:
export const GEMINI_API_KEY = "YOUR_KEY_HERE"npm run devnpm run build- Open
chrome://extensions. - Enable Developer mode.
- Click Load unpacked.
- Select
build/chrome-mv3-devorbuild/chrome-mv3-prod.
content.ts: product-page guard + extraction + auto-trigger.background.ts: Gemini analysis pipeline + storage + auto-open control.popup.tsx: UI rendering, settings, and impact comparisons.
- Values are model-assisted estimates, not audited lifecycle assessments.
- Accuracy depends on product-page data quality.
- Some products may have missing supply-chain transparency.
- Add source citations for each estimated field.
- Add category-specific lifecycle models.
- Add user impact history and savings dashboard.
- Add confidence intervals for all outputs.