Impactzero Making Sustainability Effortless

Inspiration

Every day, billions of people make small decisions which route to take, what to buy, what to cook without realizing the cumulative carbon cost. We wanted to build a tool that meets people where they already are: commuting, shopping, and managing their fridge. The Amazon Sustainability Challenge pushed us to think beyond awareness and build something that actually changes behavior in the moment.


What We Built

Impactzero is a three-module AI sustainability advisor:

** Smart Transport Advisor**
Uses the Google Maps Distance Matrix API to fetch live, traffic-aware route options across driving, transit, cycling, and walking then calculates the CO₂ cost of each mode using established emission factors:

$$ \text{CO}2 = d \times e{\text{mode}} $$

where $d$ is distance in km and $e_{\text{mode}}$ is kg CO₂e per km
(e.g. driving solo = $0.21$, bus = $0.089$, cycling = $0.0$).

Annual impact is estimated as:

$$ \text{Annual CO}_2 = \text{daily kg} \times 2 \times 220 \text{ working days} $$

** Product Sustainability Analyzer**
Users search for any product and get a live grid of listings each with an AI-estimated carbon footprint badge, biodegradability score, recyclability rating, and greener alternatives. Product images are generated on-the-fly using Google Imagen 4, so every card shows a clean, relevant product photo.

** Food Waste Reducer**
Users log their groceries (manually or by uploading a fridge photo analyzed by Gemini Vision). The app color-codes items by urgency and generates practical recipes that prioritize expiring ingredients, reducing food waste. The average food waste impact is:

$$ \text{Waste CO}_2 \approx 2.5 \text{ kg CO}_2\text{e per kg of food wasted} $$

Progress Tracker
Every action choosing a greener route, picking a lower-carbon product, using up expiring food logs a CO₂ saving. A dashboard tracks daily totals, streaks, and cumulative impact over time.


How We Built It

Layer Technology
Frontend Streamlit (dark theme, Plotly charts)
AI / LLM Google Gemini 2.5 Flash
Image Generation Google Imagen 4 (imagen-4.0-fast-generate-001)
Maps & Routing Google Maps Distance Matrix API
Vision Gemini Vision (food photo extraction, product scan)
Language Python 3.14

The architecture is intentionally modular transport.py, shopping.py, food.py, and ai_engine.py are fully independent, which let our team of four work in parallel without merge conflicts.


Challenges We Faced

Product images were the hardest problem. We cycled through five approaches before landing on the right one:

  1. LoremFlickr - returned random unrelated photos (cats, statues)
  2. Pollinations AI - rate-limited at 6 concurrent requests
  3. DuckDuckGo Images - grabbed images from blog articles (coffee photos, vintage portraits)
  4. Pexels API - stock photos mismatched on unusual product names ("Waffle" shoe → food photos)
  5. Google Imagen 4 - generates a clean studio product photo from the name every time

AI response parsing required careful prompt engineering to get structured output (CARBON:, BIODEGRADABLE:, CONCERN: labels) that could be reliably parsed without a full JSON schema.

Rate limiting across multiple APIs required switching from parallel to sequential image fetching with 600ms gaps between requests.


What We Learned

  • Gemini's multimodal capabilities (text + vision + image generation) can power an entire app with a single API key
  • Small UX details color-coded CO₂ badges, streak counters, "I chose this" tracking
    drive engagement far more than raw data
  • Sustainability tools only work if they fit naturally into existing habits, not if they lecture users

What's Next

  • Real-time product carbon data from manufacturer APIs
  • Barcode scanning for instant food and product analysis
  • Community leaderboards to make sustainability social
  • Integration with smart home devices for household energy tracking

Built With

  • gemini-vision-api
  • google-gemini-2.5-flash
  • google-imagen-4
  • google-maps-distance-matrix-api
  • pexels-api
  • pillow
  • plotly
  • python
  • streamlit
Share this project:

Updates

Submission history