Transform Amazon shopping into climate action. Ecozon is a Chrome extension that instantly finds sustainable alternatives to the products you're viewing, showing you the environmental impact and making eco-friendly choices effortless.
- β¨ Smart Product Detection β Automatically identifies products on Amazon pages
- π― Eco-Scoring Algorithm β 20+ keyword analysis + brand recognition for accurate sustainability ratings (0-100)
- π Curated Alternatives β 36 verified eco-friendly products (soap, shampoo, detergent, conditioner, body wash, toothpaste)
- π Carousel Navigation β Browse 3 top recommendations with seamless navigation
- π Live Search β Backend searches for real eco-friendly product alternatives
- β±οΈ Smart Fallback β If backend times out (5s), automatically uses curated dataset
- β»οΈ Carbon Reduction Estimates β See environmental impact per product (typically 20-60% reduction)
- π¨ Premium UI β Minimalist design using EB Garamond serif font, warm color palette
git clone https://github.com/adv23/ecozon.git
cd ecozon- Open Chrome and go to
chrome://extensions/ - Toggle "Developer mode" ON (top-right corner)
- Click "Load unpacked"
- Select the
eco-swap-extensionfolder from your cloned repo - You should see the Ecozon icon in your toolbar β
- Visit any Amazon product page:
- Search "soap" and click a product
- Or try:
amazon.com/s?k=shampoo
- Click the Ecozon icon (π) in your toolbar
- π See 3 eco-friendly alternatives with scores and reasoning
That's it! Works immediately with the curated dataset.
Ecozon uses a hybrid search system:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β User clicks Ecozon on Amazon product page β
ββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββ
β
βββββvββββββ
β Extension β
β tries β β
ββββββ¬ββββββ
β
βββββββββββββββββΌββββββββββββββββ
β β β
βββββvβββββ βββββvβββββ βββββvβββββββββ
β Backend β β Timeout β β Fallback β
β Search β β (5 sec) β β Dataset β
β (Live) β β β β (Curated) β
ββββββ¬βββββ βββββββββββ ββββββ¬βββββββββ
β β
β Success! β
ββββββββββββββββ¬ββββββββββββββββ
β
βββββββββββvβββββββββββ
β Show 3 alternatives β
β with eco-scores β
βββββββββββββββββββββββ
Backend Features:
- Node.js/Express server on
localhost:3000 - JSDOM-powered product search & parsing
- Category-specific search queries
- 5-second timeout for responsiveness
- Returns top 3 products with author, price, link
Frontend Features:
- Manifest V3 Chrome extension
- 400+ lines of vanilla JavaScript
- Zero external dependencies
- Works 100% offline with curated data
ecozon/
βββ README.md (this file)
βββ LICENSE
β
βββ eco-swap-extension/ # Chrome Extension
β βββ manifest.json # Extension config
β βββ src/
β β βββ popup/
β β β βββ index.html # Popup UI (320Γ450px)
β β β βββ main.js # All logic (scoring, rendering)
β β βββ content/
β β β βββ index.js # Detects Amazon products
β βββ public/
β βββ data/
β βββ products.json # 36 curated eco products
β
βββ backend/ # Node.js Backend
βββ README.md # Backend setup guide
βββ package.json
βββ server.js # Express server + /search endpoint
βββ node_modules/ # (created after npm install)
Just follow "Quick Start" above. The extension works fully with the 36-product curated dataset.
cd backend
npm install
npm startExpected output:
π Ecozon Backend running on http://localhost:3000
π Try: http://localhost:3000/search?q=organic%20soap
# Extension auto-detects backend at localhost:3000
# No additional configuration needed!curl "http://localhost:3000/search?q=plastic+free+soap"- Browse any product page (soap, shampoo, detergent, etc.)
- Click the Ecozon icon π in your toolbar
- Wait 1-2 seconds for recommendations
- See:
- Current product info
- Score badge (0-100)
- Carbon reduction % (β)
- "Why It's Better" reasons
- Price & source (π΄ Live / π Curated)
- "View on Amazon" β Opens the product on Amazon
- "Next" β Browse to the next alternative
- Hover effects β Smooth, premium interactions
Products are scored based on:
Positive Factors (+7 each, up to +42):
- Keywords: plastic-free, biodegradable, organic, vegan, bar soap, zero waste, sustainable, natural, handmade, plant-based, etc. (20+ total)
Bonus (+15):
- Recognized eco-brands: Dr. Bronner's, Burt's Bees, Seventh Generation, EarthHero, Hello, Attitude, etc.
Penalties (β8 each):
- Keywords: disposable, single-use, plastic bottle, synthetic, microplastic, harmful
Base Score: 50 β Floor: 0, Ceiling: 100
curl "http://localhost:3000/search?q=organic+soap"Response:
[
{
"title": "Dr. Bronner's Castile Bar Soap, Unscented Baby, 5 oz",
"author": "Dr. Bronner's",
"price": "$4.49",
"link": "https://www.amazon.com/...",
"image": "https://m.media-amazon.com/..."
},
...
]Features:
- Category-aware search (detects soap β searches "organic bar soap plastic-free")
- Real-time product search (via JSDOM HTML parsing)
- Timeout: 5 seconds (returns empty array if slower)
- Top 3 results only
The backend's search capability is optimized for rapid prototyping and hackathon demonstration. For production applications, we recommend:
- β Amazon Product Advertising API (official, approved)
- β Affiliate APIs (CamelCamelCamel, Keepa, etc.)
- β Sustainable product databases (Built With, EarthHero API, etc.)
Good news: The extension works completely independently with the curated dataset (36 verified eco-friendly products) and requires no external data sources.
# No setup needed, just open Amazon and click the extension# Terminal 1
cd backend && npm start
# Terminal 2
curl "http://localhost:3000/search?q=organic+shampoo"
# Should return 3 products or empty array if Amazon blocks| Issue | Solution |
|---|---|
| Extension icon not visible | Reload Chrome or visit amazon.com in a new tab |
| "Finding eco-friendly..." never completes | Backend not running (OK! Fallback will work) |
| Backend returns empty results | Backend unavailable or timeout (5s) β fallback to curated data automatically |
| "No product found on this page" | Not on an Amazon product page. Try: amazon.com/s?k=soap |
| Extension blocks on hover | Hard refresh (Ctrl+Shift+R) and reload extension |
| "View on Amazon" returns 404 or broken link | You're using the fallback dataset (backend not running). Start the backend for live, working links |
Input: Amazon "Grisi Royal Jelly Soap" (generic plastic bottle) Output:
Current Product: Grisi Royal Jelly Soap β $8
β
Alternative: Crate 61 Organics Bar Soap (Vegan, Plastic-Free)
Score: 92/100 β¨
Carbon Reduction: 22% β
Why: β
Plastic-free packaging
β
Vegan formulation
β
Concentrated bar = less waste
β
Certified organic
- 0 External Dependencies (vanilla JS, no React/Vue)
- Manifest V3 Compliant (Chrome's latest standard)
- 400+ Lines of standalone JavaScript
- Hybrid Architecture (live + fallback)
- Premium UI (EB Garamond font, 12px rounded corners)
- Accessibility (proper ARIA labels, keyboard navigation)
- Performance (loads in <1s, 5s fallback timeout)
For issues:
- Check Troubleshooting above
- Check browser console (F12 β Console) for errors
- Ensure backend is running (if testing live search)
- Try reloading the extension (Manage Extensions β Reload)
MIT License β See LICENSE file
Built for the Hackathon with β€οΈ and π±
Stack: Chrome Extension (Manifest V3) + Node.js + JSDOM + JSON
Happy shopping sustainably! πβ»οΈ
Made with β»οΈ for a more sustainable internet