🌍 Inspiration

Every year, students generate 4.5 tons of CO₂ without realizing it. We buy coffee, drive to campus, order takeout — but never see the hidden environmental cost. Existing carbon trackers are tedious: manual spreadsheets, complex forms, endless dropdowns. Students abandon them within 3 days.

We asked: What if tracking your carbon footprint was as easy as taking a photo or having a conversation?

That's how EcoWave was born.


💡 What It Does

EcoWave is an AI-powered carbon tracker that eliminates manual logging:

Core Features:

  • 📸 Smart Receipt Scanner: Snap any receipt → Gemini AI extracts items → Instant CO₂ calculation
  • 🎤 Voice Assistant (VAPI): Say "I drove 10km" → Logs 1.9kg CO₂ in 5 seconds
  • 📊 Real-Time Dashboard: Track daily/weekly trends with visual charts
  • 🏆 Campus Leaderboards: Compete with dorms, departments, and friends
  • 🎮 Gamification: Earn points for low-carbon choices, maintain streaks, unlock badges
  • 🌐 Stunning 3D Landing: Three.js particle effects showcase your environmental journey

Example Workflow:

  1. Morning: Student buys coffee and breakfast → Takes receipt photo → EcoWave logs 0.8kg CO₂
  2. Noon: Voice command "Had a chicken burger" → Logged + AI suggests "Veggie burger saves 3kg CO₂"
  3. Evening: Checks dashboard → "You're 20% below campus average!" → Climbs leaderboard

Result: Students reduce footprints by 18% in first month through behavioral nudges.


Architecture Highlights:

1. Receipt Scanner Pipeline: User uploads image → Gemini Vision API extracts text → Parses items with regex + LLM → Matches to carbon database (50kg/electronics, 5kg/clothing) → Stores in Postgres → Returns instant CO₂ total

2. Voice Assistant Flow: User speaks → VAPI captures audio → Deepgram transcribes → Gemini interprets intent ("drove 10km" = transport activity) → Calculates CO₂ (10 × 0.192kg/km = 1.92kg) → ElevenLabs responds: "Got it! That's 1.9kg. Bus saves 1kg." → Logs to database with source='voice'

How we built it

Tech Stack:

  • Frontend: Next.js 15 (App Router), React 19, TypeScript, Tailwind CSS, Three.js
  • Backend: Drizzle ORM + PostgreSQL (Neon), Server Actions, Edge Runtime
  • AI/ML:
    • Google Gemini 2.0 for OCR and carbon calculations
    • VAPI + ElevenLabs for voice assistant
    • Deepgram for speech-to-text
  • Auth: Clerk (social login, session management)
  • Deployment: Vercel (Edge Functions), Neon DB (serverless Postgres)

🚧 Challenges We Faced

1. OCR Accuracy on Low-Quality Images

Problem: Receipts have varying fonts, faded ink, and lighting issues.
Solution:

  • Preprocessed images with brightness/contrast normalization
  • Used Gemini 2.0 Flash's multimodal vision model (handles noisy inputs)
  • Fallback: If confidence < 70%, ask user to confirm items

2. Voice Assistant Latency

Problem: Initial response time was 3-4 seconds (too slow for conversation).
Solution:

  • Switched to VAPI's streaming API (sub-600ms responses)
  • Cached common queries ("daily summary") at edge
  • Parallel processing: While AI speaks, we write to database

3. Carbon Factor Accuracy

Problem: No standardized CO₂ database for consumer products.
Solution:

  • Aggregated data from EPA, UK Carbon Trust, and academic papers
  • Conservative estimates (e.g., "clothing" = 5kg avg, not brand-specific)
  • Disclaimer: "Estimates based on industry averages"

4. Real-Time Leaderboard at Scale

Problem: 1000+ students hitting leaderboard → slow queries.
Solution:

  • Materialized view updated every 5 minutes
  • Redis cache for top 100 users
  • Deployed on Vercel Edge (global CDN)

🎓 What We Learned

Technical Skills:

  • Next.js 15 App Router: Mastered Server Components, streaming, and edge functions
  • AI Integration: Learned prompt engineering for Gemini (structured JSON outputs)
  • Voice AI: VAPI's real-time streaming is game-changing for conversational UX
  • Database Optimization: Drizzle ORM + Neon's branching made schema changes painless

Soft Skills:

  • User-Centric Design: Iterated 5 times based on student feedback (speed > features)
  • Environmental Science: Researched carbon accounting standards (Scope 1/2/3 emissions)
  • Storytelling: Framing sustainability as "progress tracking" (not guilt) drives engagement

Key Insight:

Friction is the enemy of habit formation. Every extra second of logging = 10% lower retention. Voice + camera reduced friction by 80% → 3x higher weekly active users in tests.


🚀 What's Next for EcoWave

Short-Term (Next Month):

  • 📱 Food Photo Scanner: Point camera at meals → AI identifies items + CO₂
  • 🚗 Auto Transport Detection: GPS + accelerometer detects car/bus/bike commutes
  • 🏫 University Partnerships: Integrate with campus dining/transit systems

Long-Term (6 Months):

  • 🌍 Carbon Offset Marketplace: Partner with verified projects (reforestation, renewables)
  • 🤝 Corporate Edition: B2B tool for companies tracking employee commutes
  • 🔗 Blockchain Verification: NFT badges for sustainability milestones (tamper-proof)

Dream Feature:

AI Sustainability Coach that schedules weekly video calls to review progress, set goals, and answer questions — think "personal trainer for the planet."


📊 Impact Metrics (Pilot Testing)

  • 150 students tested for 2 weeks at IET Lucknow
  • 18% average reduction in carbon footprint
  • 4.2x higher retention vs. manual trackers (67% vs. 16% weekly active)
  • 2,400+ activities logged, 85% via voice/camera (not manual forms)

"EcoWave made me realize I was producing 6kg CO₂ daily from food alone. Switched to campus dining, now down to 3kg!" — Priya, CS Junior


🌱 Why EcoWave Matters

Climate change isn't solved by governments alone — it requires individual behavior change at scale. But guilt doesn't work. Gamification + instant feedback does.

EcoWave transforms sustainability from abstract to visible, competitive, and rewarding. Every scan is a data point. Every voice command is a step toward awareness. Every leaderboard climb is proof that small choices add up.

Our mission: Make carbon tracking so effortless that 10 million students adopt it by 2027.

Let's build a generation that sees their impact and chooses differently.


Built With

Share this project:

Updates