Inspiration
Overflowing garbage sites are a health hazard and environmental concern, especially in urban areas. We wanted to empower citizens to report and document these Garbage Vulnerable Points (GVPs) easily and efficiently.
What it does
The web app enables the public to: Report garbage-prone areas by uploading images or videos. Select the garbage level, waste type, and severity. Add remarks and auto-capture their location. Submit all data, which is stored securely for municipal use and tracking.
How we built it
We built the frontend using React + TypeScript + Tailwind CSS in a mobile-first layout with adaptive components. For the backend, we: Used Firebase for authentication and media storage. Used Supabase for storing structured report data. Managed file uploads with Multer on an Express server. Leveraged Bolt AI to rapidly scaffold and generate our project structure, boilerplate, and component logic.
Challenges we ran into
Enabling consistent camera capture across mobile and desktop devices. Handling multipart form submissions while integrating Firebase Storage. Ensuring accurate geolocation access while avoiding browser security pitfalls. Cross-platform testing on different networks for local mobile development.
Accomplishments that we're proud of
Built a fully functional, mobile-optimized reporting system. Integrated live camera capture, multi-file upload, and location tracking. Achieved seamless authentication, file storage, and database integration. Collaborated efficiently using AI tooling (Bolt) to accelerate development.
What we learned
Practical use of Firebase SDKs for real-time features. Efficient file handling using Multer + Firebase Storage. How to work around browser limitations for mobile hardware access. Structuring a scalable full-stack app with decoupled services.
What's next for Garbage Vulnerable Points Tracking
Notify local civic authorities when a GVP is reported. Dashboard for officials to view, filter, and act on reports. Convert it into a PWA/mobile app for offline reporting. Use AI models to analyze submitted images for automatic garbage level classification.
Built With
- bolt
- react
- supabase
- typescript
Log in or sign up for Devpost to join the conversation.