Inspiration

Picking up one piece of trash may seem insignificant, but when communities come together, small actions create powerful change. Litter in our cities is on the rise, and it harms wildlife, ecosystems, and water quality. Yet, existing solutions rely on manual reporting to city services, which are often slow and unreliable. This inspired us to create StreetSweepAI, which crowdsources litter detection and cleanup to community members.

What it does

StreetSweep is a community-driven platform that uses computer vision to identify litter in cities. By analyzing images for trash and tagging their locations, StreetSweepAI creates cleanup tickets. A ticket can either be made automatically by analyzing traffic camera feeds or manually through user input. Then, community members can view, claim, and resolve cleanup tickets. Every cleanup rewards users with points as they compete for prizes and the top spot on the leaderboard. Additionally, each ticket represents a datapoint, helping to generate insights into littering. Ultimately, StreetSweepAI connects people with local problems, making volunteering accessible, immediate, and meaningful.

How we built it

For the frontend, we utilized React and TypeScript. On the backend, we used Python and FastAPI, with integrated MongoDB Atlas for data storage. We called Google Gemini API for AI-powered image analysis with Cloudinary for cloud image storage. The frontend was deployed on Vercel and the backend was deployed on Railway

Challenges we ran into

  • Computer Vision Integration: Nobody in the team had previously worked with computer vision models in an application. Testing litter detection proved challenging, especially without access to a large, labeled dataset.
  • Data Availability: A major obstacle was the lack of real-world litter data to populate and test our system. We had to design synthetic test data using image generation models.
  • Backend Coordination: Coordinating data flow between image analysis, ticket creation, and user interaction required careful backend design.

Accomplishments that we're proud of

We are proud of being able to connect all these different technologies in a way which truly helps the world and connects people. We are also proud of how much we learned while creating this project and how well we worked with people who were once strangers.

What we learned

  • Since nobody in the team had worked with computer vision models in an application before, we all gained hands-on experience integrating image analysis outputs into a full-stack application. We also learned how to host backend endpoints on Railway, which was a lot easier than we thought it would be.
  • We learned systems design and macro-level analysis as planning out the structure of our hack proved to be essential for the success of our build. Without proper consideration of the “big picture” when developing each individual component, work on the project would have gone much slower.

What's next for StreetSweep

Our next step would be a migration from a Gemini-based detection method to a fully trained computer vision neural network. This would allow much superior tunability and accuracy

Built With

Share this project:

Updates