Aplikasi deteksi sampah real-time berbasis kamera menggunakan Claude Vision API. Mengklasifikasikan sampah menjadi Organik, Anorganik, dan B3 (termasuk alat medis).
- 📷 Live camera detection (kamera depan/belakang)
- 🤖 AI-powered dengan Claude Vision
- 📊 Confidence score visual
- 💡 Tips pembuangan yang benar
- ⚡ Auto-deteksi setiap 3 detik
- 📱 Responsive (mobile & desktop)
- 🚀 Siap deploy ke Vercel
- Node.js 18+ → https://nodejs.org
- Akun Anthropic → https://console.anthropic.com
- Optional: Groq, Claude, or Gemini
npm installcp .env.local.example .env.localEdit .env.local dan isi dengan API key kamu:
ANTHROPIC_API_KEY=sk-ant-xxxxxxxxxxxxxxxxxxxxxxxx
npm run devBuka http://localhost:3000 di browser.
⚠️ HTTPS diperlukan untuk kamera di production. Di localhost, browser otomatis mengizinkan kamera.
# Install Vercel CLI
npm i -g vercel
# Login
vercel login
# Deploy
vercel
# Atau langsung ke production
vercel --prod- Push project ke GitHub
- Buka https://vercel.com/new
- Import repository
- Tambahkan Environment Variable:
- Key:
ANTHROPIC_API_KEY - Value:
sk-ant-xxxx...
- Key:
- Klik Deploy
🔑 PENTING: Jangan pernah commit
.env.localke GitHub! File.gitignoresudah mengecualikannya.
waste-detector/
├── app/
│ ├── api/detect/route.ts ← API endpoint Claude Vision
│ ├── layout.tsx
│ ├── page.tsx
│ └── globals.css
├── components/
│ ├── WasteDetector.tsx ← Komponen utama + kamera
│ └── ResultCard.tsx ← Tampilan hasil deteksi
├── lib/
│ ├── useCamera.ts ← Custom hook kamera
│ └── types.ts ← TypeScript types
├── .env.local ← API key (jangan di-commit!)
└── package.json
Edit components/WasteDetector.tsx:
const DETECT_INTERVAL_MS = 3000; // Interval auto-deteksi (ms)- Buka aplikasi di browser
- Klik "Nyalakan Kamera"
- Izinkan akses kamera di browser
- Deteksi Manual: Klik "Deteksi Sekali" untuk scan satu kali
- Auto Deteksi: Klik "Auto Deteksi" untuk scan otomatis tiap 3 detik
- Arahkan kamera ke sampah → hasil muncul di panel kanan