Inspiration
Consumers today are increasingly eco-conscious, yet they lack access to real-time, trusted sustainability insights while shopping online. We were inspired to build EarthBuddy to bridge that gap - surfacing ESG (Environmental, Social, Governance) data right at the point of decision, so users can shop sustainably without switching platforms or doing extra research.
What it does
EarthBuddy is a Chrome extension that:
- Automatically detects the brand you're browsing
- Displays the brand's color-coded ESG Risk Score (from Yahoo Finance)
- Suggests 1-3 alternative brands with better ESG performance
- Shows company logos and links to homepages for transparency
- Pulls real-time recommendations using Google Gemini API
How we built it
- Frontend: React + TypeScript, styled with TailwindCSS, built as a Chrome extension
- Backend: Flask API hosted on Render, connected to Gemini for recommendations
- APIs Used:
- Google Gemini (brand matching + natural language)
- yFinance (ESG data)
- Brandfetch (logo rendering)
Challenges we ran into
- Mapping ticker symbols to brands reliably (many don’t align cleanly)
- Gemini sometimes returns incomplete JSON — required validation + parsing
- Some brands lack ESG data or homepage info, requiring graceful fallbacks
- Scaling APIs for speed and response quality under browser extension constraints
Accomplishments that we're proud of
- Created a seamless browser UX with real-time ESG feedback
- Integrated 3 external APIs reliably
- Designed a system that works across most major shopping domains
- Made sustainability info digestible and accessible in < 3 seconds
What we learned
- How to integrate LLMs (Gemini) with structured APIs (yFinance)
- Building Chrome extensions with secure backend connections
- Handling dynamic data reliability (e.g. missing logos or tickers)
- Keeping UI clean and functional under tight space constraints
What's next for EarthBuddy
- Support for Firefox and Safari extensions
- Manual search bar for comparing brands outside shopping context
- ESG trend tracking and score explanations over time
- Local caching to reduce repeated API calls
- User account to track "eco savings" from better choices to gamify EarthBuddy
Built With
- brandfetch-api
- chrome-extension-api
- flask
- google-gemini-api
- python
- react
- render
- tailwindcss
- typescript
- yfinance

Log in or sign up for Devpost to join the conversation.