Inspiration
Consumers want to shop sustainably, but lack the tools to make informed decisions at the point of purchase. Greenwashing is everywhere, sustainability data is fragmented, and many consumers may not feel the reward is significant or tangible enough to commit to a pricier purchase.
Additionally, traditional donation platforms require consumer's blind trust. When a company says they donate to an NGO, allowing the public to verify it actually happened could help consumers feel more inclined to make sustainable choices, knowing exactly what their purchases contribute to!
Research:
https://www.kantar.com/campaigns/sustainability-sector-index https://www.deloitte.com/ca/en/who-we-are/press-room/while-brands-think-they-have-consumer-trust-most-canadians-are-skeptical-about-sustainability-claims.html "52% of people globally say they have seen, or heard, false or misleading information about sustainable actions taken by brands." (Kantar, 2023) "57 per cent of Canadian consumers do not believe most green claims brands make" (Deloitte, 2023)
The need for sustainable consumption:
- Fashion industry: ~944 million metric tons of CO2e in 2023 (Apparel Impact Institute)
- Food systems: ~26% of global greenhouse gas emissions (Our World in Data)
- Packaging: ~42% of global plastic waste (OECD)
- Only 9.5% of plastic made in 2022 used recycled material (The Guardian)
- Packaging: ~42% of global plastic waste (OECD)
What it does
ecoscore makes hidden environmental impact visible at the moment of purchase.
3 entry points
- In-store: Take a photo of any product tag or label. Gemini AI analyzes it instantly.
- Online: Paste a product URL from any retailer.
- Voice: ElevenLabs voice search to describe product details
For each product, we calculate an ecoscore using a weighted formula across five dimensions: packaging, materials, carbon footprint, water usage, and ethics. Each component breaks down further (recyclability, harmful ingredients, transport distance, certifications) so users understand exactly why a product scores the way it does.
We are sustainable, squared
ยน When a product scores poorly, we surface 4โ6 greener alternatives from verified sustainable brands. Users earn ecopoints for choosing better options.
ยฒ These points convert to real donations funded by partnered retailer brands to climate NGOs โ processed on Solana where every dollar is publicly verifiable.
Users can also mint soulbound Impact Certificate NFTs proving their contribution. Social features (leaderboards, friend codes, streaks, badges) keep users engaged.
How we built it
Frontend
- React + TypeScript + Vite + Tailwind CSS + leaf mascot
- WebRTC API for real-time camera capture with multi-image support (up to 4 images)
Backend & Database
- Express.js REST API handling auth, points, pledges, and leaderboard
- MongoDB with Mongoose for users, sponsors, NGOs, pledges, batch receipts, scan history, badges, friend relationships, and custodial wallets
- Firebase Authentication (Google OAuth + email/password)
MongoDB Schema Design
- User documents embed scan history, badges, and NFT certificates for read performance
- Custodial Solana wallets stored per user for minting soulbound certs only
- Pledges indexed by week number for efficient batch aggregation
- Unique friend codes for adding friends without exposing IDs
Why ecopoints live in MongoDB, not Solana
If we minted a token for every product capture, 1,000 users making 10 captures per week would mean 10,000 transactions weekly. Every user would need a Solana wallet and would need to understand crypto.
By keeping points off-chain, our blockchain-centred features become more inclusive:
- No wallet required โ users earn points without touching crypto
- Instant, free, familiar UX โ feels like any other app
The blockchain only comes in where trust matters: actual money moving to NGOs.
Weekly batch = 1 transaction regardless of user count.
Solana Blockchain Integration
Why Solana?
- Low fees (~$0.00025/tx) โ users earn ~$0.05 per capture; Ethereum gas would exceed the reward
- PDA Escrow โ vault has no private key; Solana program code secures funds for whitelisted NGOs
- Instant finality (400ms) โ NGOs receive funds immediately
Anchor Program Security
- Deterministic PDA seeds for escrow, config, and registry accounts
- Admin-only disbursement constraints
- Pro-rata distribution if pledges exceed vault balance
Every batch emits on-chain events with week ID, points pledged, per-NGO amounts; permanent receipts anyone can audit.
Impact Certificate NFTs
- Wallets auto-generated per user upon first mint
- We used Pinata as the IPFS (InterPlanetary File System) to pin the NFT data and art.
- Metaplex minting (admin pays fees)
- Soulbound (non-transferable, proves action)
Gemini AI Integration
Gemini is the core intelligence layer powering our major features:
1. Product Image Analysis
Users capture up to 4 photos of product tags, labels, or packaging. Gemini's vision model extracts product name, brand, category, materials list, and ingredient information.
2. URL-Based Product Analysis
For online shopping, users paste a product URL. Gemini researches the product and applies the same analysis without needing an image.
3. Product ecoscore Calculation
Gemini applies our custom scoring algorithm with five weighted dimensions:
| Dimension | Weight | Breakdown |
|---|---|---|
| Packaging | 25% | Recyclability score, material type, weight efficiency |
| Materials | 25% | Harmful ingredient detection, renewable/responsibly sourced percentage |
| Carbon | 20% | Production emissions intensity, transport distance |
| Water | 15% | Industry water intensity |
| Ethics | 15% | Certifications detected, supply chain transparency |
Each dimension returns both a numeric score and a easy-to-read label explaining the rating.
4. Alternative Product Generation
For every product analyzed, Gemini generates 4โ6 greener alternatives that serve the same function. Each alternative includes estimated price range, where to buy, and why it scores higher. We generate search URLs rather than direct product links to avoid broken links.
5. NFT Certificate Art
When users mint Impact Certificates, we attempt Gemini image generation for unique eco-themed landscape art with Node Canvas procedural fallback.
Challenges we ran into
- Learning blockchain concepts + Solana and Anchor from scratch in one weekend
- Running out of Gemini and Elevenlab usage during development
Accomplishments that we're proud of
- Built a hybrid Web2/Web3 system where users can earn points and pledge donations without needing a wallet, but can verify every donation on-chain and mint NFT certificates when they choose
- Created an ecoscore algorithm with sub-component breakdowns that Gemini applies consistently
- Ego boost from building something that we would actually use (or Eco boost???)
- Making the leaf guy jump and creep us out with voices
What we learned
- Solana development with Anchor (PDAs, CPIs, events) and recognizing its most effective use cases
- Designing hybrid architectures that get blockchain benefits without UX friction
- Using Gemini API for structured product analysis and learning how to write a good prompt for webscraping given varying modes of input
What's next for ecoscore
- Expand portfolio of NGOs and sponsor brands, linking online storefronts and purchase history
- Deploy Solana program to mainnet for production use
- Fully implement the weekly challenges feature
Built With
- anchor-framework
- elevenlabs-api
- express.js
- firebase
- google-gemini-api
- mongodb
- mongoose
- node.js
- piniata
- react
- rust
- shadcn/ui
- solana
- tailwind
- typescript
- vite
- web-share-api
- webrtc-api
Log in or sign up for Devpost to join the conversation.