Skip to content

Repository files navigation

🌊 EcoWave

Snap. Track. Reduce.

AI-powered carbon footprint tracker for students

Next.js TypeScript Tailwind CSS License

Live Demo · Report Bug · Request Feature


EcoWave Demo

🎯 What is EcoWave?

EcoWave helps students track their carbon footprint effortlessly. Simply photograph receipts or talk to our AI assistant — we handle all the calculations and give you actionable insights.

No complex forms. No manual data entry. Just snap, speak, and reduce.


✨ Features

Feature Description
📸 Receipt Scanner AI-powered OCR extracts items and calculates carbon instantly
🎤 Voice Assistant Say "I drove 10km" and Eco logs it in seconds
🏆 Leaderboards Compete with classmates and campus groups
📊 Analytics Track trends, get insights, celebrate progress
🎮 Gamification Earn points, maintain streaks, unlock rewards
🌐 3D Landing Stunning Three.js particle effects

🚀 Quick Start

Prerequisites

Installation

# Clone the repo
git clone https://github.com/ANAMASGARD/EcoWave.git
cd EcoWave

# Install dependencies
npm install

# Set up environment variables
cp .env.example .env.local

Environment Variables

DATABASE_URL=your_neon_connection_string
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_key
CLERK_SECRET_KEY=your_clerk_secret
NEXT_PUBLIC_GEMINI_API_KEY=your_gemini_key

# Optional: Voice AI
NEXT_PUBLIC_VAPI_PUBLIC_KEY=your_vapi_key
NEXT_PUBLIC_VAPI_ASSISTANT_ID=your_assistant_id

Run

npm run db:push   # Setup database
npm run dev       # Start dev server

Open http://localhost:3000 🎉


📱 How It Works

┌─────────────┐     ┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│   📸 Scan   │ ──▶ │  🤖 AI      │ ──▶ │  📊 Track   │ ──▶ │  🌱 Reduce  │
│   Receipt   │     │  Analysis   │     │  Progress   │     │  Impact     │
└─────────────┘     └─────────────┘     └─────────────┘     └─────────────┘
  1. Scan — Take a photo of any receipt
  2. Analyze — Gemini AI extracts items & calculates CO₂
  3. Track — View history, trends, and leaderboard position
  4. Reduce — Get personalized tips to lower your footprint

🎤 Voice Commands

You Say Eco Does
"I drove 10km today" Logs 1.9kg CO₂, suggests alternatives
"Had a burger for lunch" Logs 1.7kg CO₂, compares options
"How's my day looking?" Summarizes daily carbon
"Bought two t-shirts" Logs 10kg CO₂, suggests second-hand

🏗️ Tech Stack

Frontend Backend AI/ML Infrastructure
Next.js 15
React 19
TypeScript
Tailwind CSS
Three.js
Drizzle ORM
PostgreSQL
Server Actions
Clerk Auth
Google Gemini
VAPI Voice AI
ElevenLabs
Deepgram
Vercel
Neon DB
Edge Runtime

📂 Project Structure

ecowave/
├── app/
│   ├── landing/      # 3D WebGL landing page
│   ├── scan/         # Receipt scanner
│   ├── voice/        # Voice assistant
│   ├── history/      # Scan history
│   ├── leaderboard/  # Rankings
│   └── carbon/       # Manual logging
├── components/       # Reusable UI components
├── lib/              # Utilities & AI config
└── utils/db/         # Database schema & actions

🔬 Carbon Factors

Category CO₂ per Unit
Electronics 50 kg/device
Clothing 5 kg/garment
Meat 5 kg/kg
Packaged Food 1 kg/item
Fresh Produce 0.5 kg/kg
Beverages 0.5 kg/item

🚀 Deploy

Deploy with Vercel

Or manually:

vercel --prod

Add environment variables in Vercel Dashboard.


🤝 Contributing

Contributions welcome! Some ideas:

  • 🍔 Food photo scanner
  • 🚗 Auto transport detection
  • 📱 Social sharing
  • 🌍 Multi-language support

📄 License

MIT © 2024 EcoWave


Made with 💚 for the planet

By students, for students

About

BELOW IS THE DEPLOYMENT LINK 👇👇👇👇

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages