Lima generates more than 9,000 tonnes of solid waste every single day — yet the city’s formal recycling rate sits below 2%. The barrier is rarely a lack of will; it is a lack of information at the moment it matters most. When a resident picks up an empty plastic bottle, a dead phone battery, or a broken fluorescent bulb, three questions stand between good intention and correct action: What can I recycle? Where do I take it? How do I prepare it? QuipuEco answers all three in seconds, directly from a mobile browser, with no app install required. Built for the Hackathon Tecsup 2026 and piloted across Lima Este, QuipuEco is a Progressive Web App that combines Google Gemini AI vision, a conversational voice agent powered by the Web Speech API, and a real-time Mapbox map to route users to the nearest appropriate collection point — either a Tambo convenience store for dry recyclables or a Centro Verde municipal facility for glass, organics, e-waste, and hazardous materials.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/davidmpizarro/QuipuEco-Hackaton/llms.txt
Use this file to discover all available pages before exploring further.
QuipuEco was developed by Equipo QuipuEco as a submission to the Hackathon Tecsup 2026 in Lima, Perú. The project is open source under the MIT License and designed to demonstrate how AI can compress the recycling decision cycle from minutes to seconds at city scale.
The Three Questions QuipuEco Answers
Every recycling interaction in QuipuEco resolves around three core questions that Lima residents face daily:- What can I recycle? — Upload or photograph any waste item. Gemini’s vision model identifies the material type (plastic, paper, glass, organic, metal, electronic, or hazardous) and tells you whether it is recyclable and in which container color it belongs.
- Where do I take it? — Based on the classified material type, the app routes you to the nearest correct collection network. Plastic, paper, and metal go to Tambo stores; glass, organics, e-waste, and hazardous materials go to Centro Verde municipal points.
- How do I prepare it? — Each classification result includes step-by-step preparation instructions for Lima (e.g., rinse and crush bottles, remove labels, flatten cardboard) so items are accepted at collection points without rejection.
Key Features
Image Classification
Photograph or upload any waste item. Gemini AI vision identifies the material, estimates CO₂ savings, and returns preparation instructions — all in under two seconds.
Voice Agent
A hands-free conversational agent built on the Web Speech API. Ask about preparation, nearest collection points, or recycling tips — the agent responds in audio and text and can open the map directly.
Recycling Map
A fullscreen Mapbox map showing the nearest Tambo stores and Centro Verde points, sorted by GPS distance, with walking and driving routes calculated via the Mapbox Directions API.
Impact Dashboard
A gamified impact tracker that records CO₂ avoided, kilograms recycled, and waste classifications per category. Users earn Eco Points and advance through ranks from Semilla Eco to Héroe del Planeta.
Tech Stack
QuipuEco is split into a React frontend and a FastAPI Python backend. The two services communicate exclusively over a local REST API — no shared state, no WebSockets.Frontend
| Technology | Version | Role |
|---|---|---|
| React | 19.2 | UI component tree and state-driven routing |
| Vite | 8.0 | Build tool and dev server |
| Tailwind CSS | v4.3 | Utility-first responsive styling |
| GSAP | 3.15 | Desktop entrance animations and mascot interactions |
| Mapbox GL JS | 3.24 | Interactive map, marker clustering, walking routes |
@mapbox/mapbox-sdk | 0.16 | Mapbox Directions API client |
| Web Speech API | Native | SpeechRecognition for input, SpeechSynthesis for TTS output |
| Recharts | 3.8 | CO₂ trend area chart in the Impact Dashboard |
| Axios | 1.17 | HTTP client for backend API calls |
| Lucide React | 1.17 | Icon library |
Backend
| Technology | Version | Role |
|---|---|---|
| FastAPI | — | REST API with two endpoints: /clasificar and /chat |
| Python | 3.11+ | Runtime |
| Google Gemini | gemini-3.1-flash-lite | Waste vision classification and conversational AI |
| Haversine algorithm | — | Distance calculation for nearest collection point |
The Two Recycling Networks
QuipuEco separates collection points into two distinct networks based on the operational constraints of each waste category.Tambo+ Stores — Dry Recyclables
Tambo convenience stores accept plastic, paper/cardboard, and metal directly at the counter, no appointment needed. These materials are clean, dry, and safe to handle in a retail environment.| Store | District |
|---|---|
| Tambo Riva Agüero | El Agustino |
| Tambo Paracas | Ate |
| Tambo Corregidor | La Molina |
| Tambo Alondras | Santa Anita |
| Tambo Ayllón | Chaclacayo |
| Tambo 28 de Julio | Chosica |
Centro Verde Municipal — Specialist Waste
Municipal Centro Verde facilities handle glass, organics, e-waste (RAEE), and hazardous materials. These categories require specialised storage, composting infrastructure, or certified waste handlers that a convenience store cannot provide. Routing hazardous or electronic waste to Tambo would be operationally incorrect and is explicitly prevented by the app’s category-to-network mapping.Maintaining this separation is critical to the credibility of the product. The app never suggests that Tambo accepts batteries, broken bulbs, or food waste — doing so would break real-world operational logic and erode user trust.
Gamification and Impact Tracking
Every waste item classified earns Eco Points stored inlocalStorage via the useHistorial hook:
- Non-recyclable item → 2 points
- Hazardous material → 5 points
- All other recyclable types → 10 points