An intelligent web application that helps users properly identify, assess, and dispose of electronic waste through AI-powered image analysis and location-based recycling guidance.
- Photo Analysis: Take pictures of e-waste items for instant AI-powered identification
- Manual Entry: Browse comprehensive categories when you know what you have
- Multi-Item Scanning: Scan multiple items and plan disposal trips efficiently
- Automatic hazard level classification (Low, Moderate, High)
- Specific safety warnings for dangerous materials
- Component identification (lithium batteries, mercury, lead, etc.)
- Step-by-step preparation instructions
- Recommended disposal methods
- Local recycling program information
- Environmental impact assessment
- Find nearby e-waste recycling centers
- Filter by government and private facilities
- Get directions and contact information
- View accepted item types per location
- Organize multiple items for efficient recycling trips
- Group items by compatible recycling locations
- Prioritize by hazard level
- Combined disposal guidance
- Frontend: React 19 with TypeScript
- Build Tool: Vite 7
- Styling: Tailwind CSS 4
- Linting: ESLint 9 with TypeScript support
- Package Manager: npm
- Node.js 18+
- npm or yarn
- Clone the repository
git clone https://github.com/yourusername/e-waste.git
cd e-waste- Install dependencies
npm install- Start the development server
npm run dev- Open your browser to
http://localhost:5173
npm run buildThe optimized production build will be in the dist/ directory.
npm run previewe-waste/
├── src/
│ ├── App.tsx # Main application component
│ ├── App.css # Application styles
│ ├── main.tsx # Application entry point
│ ├── index.css # Global styles
│ └── assets/ # Static assets
├── public/ # Public static files
├── index.html # HTML entry point
├── package.json # Dependencies and scripts
├── tsconfig.json # TypeScript configuration
├── vite.config.ts # Vite configuration
└── tailwind.config.js # Tailwind CSS configuration
The app provides guidance for:
- 🔋 Batteries: Lithium-ion, alkaline, rechargeable, button cells, lead-acid
- 📱 Mobile Devices: Smartphones, tablets, smartwatches, wearables
- 💻 Computers: Laptops, desktops, monitors, peripherals
- 🔌 Cables & Accessories: Chargers, cables, power banks, external drives
- 📺 Audio/Video: TVs, speakers, headphones, gaming consoles
- 🏠 Home Appliances: Kitchen appliances, personal care, vacuums
- 🖨️ Office Equipment: Printers, scanners, fax machines
- 💡 Lighting: LED bulbs, fluorescent tubes, smart bulbs
- 🎮 Gaming: Consoles, controllers, accessories
- 📷 Photography: Cameras, lenses, drones
- 🔧 Tools: Power tools, electric drills, measuring devices
- 🚗 Automotive: Car electronics, GPS devices, dash cams
npm run dev- Start development server with hot reloadnpm run build- Build for productionnpm run lint- Run ESLintnpm run preview- Preview production build locally
The project uses:
- TypeScript for type safety
- ESLint for code quality
- Strict mode React for better development warnings
- Tailwind CSS for consistent styling
Run the linter:
npm run lintThe app analyzes e-waste items using AI vision models. The analysis provides:
- Item identification and classification
- Hazard assessment
- Disposal instructions
- Environmental impact data
- Recycling program recommendations
- Modern browsers with ES6+ support
- Camera API support for photo capture
- Geolocation API for location services
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'feat: add some amazing feature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is open source and available under the MIT License.
- Built with React, TypeScript, and Vite
- Styled with Tailwind CSS
- Icons and UI inspired by modern design principles
- E-waste disposal guidelines based on EPA and local regulations
For questions or suggestions, please open an issue on GitHub.
Made with ♻️ for a cleaner planet