Transform waste sorting into a rewarding experience with AI-powered scanning, gamification, and real-time environmental impact tracking.
Live Demo โข Documentation โข Report Bug โข Request Feature
- Introduction
- Features
- Tech Stack
- Getting Started
- Project Structure
- Implementation Details
- Environmental Impact
- Screenshots
- Future Enhancements
- Contributing
WasteWise is a cutting-edge waste management platform developed for the Ignite Hackathon 2025. It empowers users to sort, track, and repurpose waste using AI, gamification, and environmental analytics.
- 40% of recyclable materials end up in landfills due to improper sorting
- Limited awareness of proper disposal methods
- Low engagement in sustainable practices
- No real-time feedback on environmental impact
WasteWise combines AI-powered computer vision, gamification, and community engagement to make waste management:
- โ Simple - Scan items with your device camera
- โ Educational - Learn proper disposal instantly
- โ Engaging - Earn points and compete on leaderboards
- โ Impactful - Track real-time environmental contributions
- Computer Vision: Identifies waste items with 92.3% accuracy
- Real-time Classification: Recyclable, organic, trash
- Smart Recommendations: Disposal guidance based on location
- Flexible Input: Camera capture or gallery upload
- Points System: Earn points for correct scans
- Level Progression: Eco-warrior ranks and badges
- Achievements: Unlock badges for milestones
- Rewards Redemption: Exciting Vouchers, eco-products, Badges
- Daily Challenges: Extra points for completing targets
- Real-time Metrics: COโ saved, items scanned, accuracy rates
- Trends & Charts: Visualize waste reduction over time
- Environmental Equivalents: Trees saved, water conserved
- Personal Dashboard: Holistic eco-footprint tracking
- Global & Friends Leaderboards
- Social Sharing: WhatsApp, social platforms
- Community Challenges: Collaborative environmental goals
- Weekly Rankings: Track improvements
- JWT-based Auth with refresh tokens
- Protected Routes with role-based access
- Profile Customization & preferences
- Session Management: Secure login/logout
- Daily eco-tips and sustainability insights
- Step-by-step sorting guidance
- Material recyclability information
- Environmental impact education
- Responsive: Mobile, tablet, desktop optimized
- Smooth Animations: Framer Motion transitions
- Toast Notifications: Real-time feedback
- Skeleton Loaders: Smooth loading experience
The user takes or uploads an image, the model classifies and outputs its type. Along with additional tips:
| Technology | Purpose | Version |
|---|---|---|
| React | UI Library | 18.3.1 |
| TypeScript | Type Safety | 5.9.3 |
| Vite | Build Tool | 7.1.7 |
| React Router | Routing | 6.30.1 |
| TailwindCSS | Styling | 4.1.14 |
| Framer Motion | Animations | 12.23.24 |
| Shadcn/ui | Component Library | Latest |
| Radix UI | Accessible Components | Latest |
- React Context API - Auth & global state
- React Hook Form - Form validation
- Zod - Schema validation
- Lucide React - Icons
- Recharts - Data visualization
- Sonner - Toast notifications
- Axios - HTTP client with interceptors
- JWT Authentication - Secure token-based auth
- Cookie Management - Secure sessions
- ESLint - Linting
- TypeScript ESLint - Type-safe linting
- PostCSS & Autoprefixer - CSS processing
- Node.js v18+
- npm / yarn / pnpm / bun
- Git
git clone https://github.com/AustinVarshney/Ignite-Hackathon-2025.git
cd Ignite-Hackathon-2025
npm installVITE_API_URL=http://localhost:3001/api
VITE_ENABLE_ANALYTICS=true
VITE_ENABLE_PWA=true
VITE_APP_NAME=WasteWise
VITE_APP_VERSION=1.0.0npm run devVisit: http://localhost:5173
npm run build
npm run previewnpm run lintsrc/
โโโ assets/ # Images, fonts
โโโ components/ # React components
โโโ contexts/ # React Contexts
โโโ hooks/ # Custom hooks
โโโ lib/ # Utilities
โโโ pages/ # Page components
โโโ services/ # API services
โโโ App.tsx # Root component
โโโ main.tsx # Entry point
โโโ index.css # Global styles
1. User submits credentials
2. Backend validates & returns JWTs
3. Store tokens in localStorage & cookies
4. Include access token in API requests
5. Automatic token refresh
6. Secure logout- AuthProvider: User & token state
- Server State: React Query
- Local/Form State: useState & React Hook Form
const api = axios.create({ baseURL: import.meta.env.VITE_API_URL, withCredentials: true });
api.interceptors.request.use(config => { /* add auth token */ return config; });
api.interceptors.response.use(response => response, async error => { /* refresh token */ });<ProtectedRoute><Dashboard/></ProtectedRoute>
Routes: /, /login, /register, /home, /scan, /impact, /rewards, /community, /profile- COโ Saved: Correctly sorted items
- Trees Equivalent: COโ to trees
- Water Saved: Through recycling
- Landfill Diversion: Waste reduced
totalCO2Saved = scannedItems.reduce((sum, item) => sum + impactMetrics[item.type].co2, 0);
treesEquivalent = totalCO2Saved / 5;- Multi-item detection, barcode scanning, material analysis
- Social features: group challenges, chat, referral bonuses
- Advanced analytics & export (PDF/CSV)
- Enterprise dashboard, API integration
- CI/CD, testing, image optimization, offline support, i18n, WebSockets
Contributions are always welcome ๐ก
To contribute:
- Fork the repository
- Create a new feature branch
- Commit your changes
- Open a pull request
| Name | Role |
|---|---|
| Austin Varshney | Frontend Developer |
| Rupesh Varshney | Backend Developer |
| Aryan Parashar | AI & ML Developer |
| Prakhar Saxena | AI & ML Developer |






