Inspiration

Litter is everywhere, yet somehow unseen. People notice it, post about it, complain and then it fades into the endless scroll. But what if that frustration could become data? It starts with a quiet truth, awareness alone doesn’t change much. But if all those fleeting glimpses of neglect were connected, made visible, undeniable... they could reveal the full picture. Because once you can see the problem, you can finally begin to fix it.

What it does

Mobile App: Users sign in, capture geotagged photos, upload directly to Cloud Storage via signed URLs, get push notifications on processing completion.

Web App: Public heatmap with color-coded density, clickable markers showing photos/details, directions to dump sites.

Backend: Event-driven processing - uploads trigger Pub/Sub → Cloud Run worker analyzes images, updates database asynchronously.

Note: To try the app, please send a request to join the closed beta, you will be added to the list.

How we built it

AI-Assisted Development:**

  • AI Studio: Vibe coded React app, iterated on UI/UX, Solved GCP IAM issues, Cloud Run setup, architecture design.
  • Gemini CLI: Backend/Flutter development and debugging

Architecture Evolution:

  • V1: Monolithic backend (5+ sec response)
  • V2: Event-driven with Cloud Run, Pub/Sub, signed URLs (sub-second response)

Infrastructure: Cloud Run (API + Worker), Cloud SQL, Cloud Storage, Pub/Sub, Secret Manager, FCM

Challenges we ran into

  1. Performance: Monolithic backend was too slow → redesigned to event-driven async processing
  2. IAM Complexity: 403 errors, uniform bucket access conflicts → used AI Studio to learn proper permissions
  3. Service Orchestration: Coordinating Cloud Run, Pub/Sub, Storage, SQL → created detailed architecture diagrams

Accomplishments that we're proud of

  • 2X performance improvement via event-driven architecture
  • Seamless GCP integration - Cloud Run, Pub/Sub, Storage, SQL, Secret Manager working together

What we learned

  • Google Cloud serverless (Cloud Run, Pub/Sub, signed URLs)
  • Event-driven architecture - thinking in messages vs request-response
  • Gemini cli cloud expertise - SQL queries and GCP setup worked flawlessly

What's next for trashmapr

Immediate:

  • Video capture support
  • Anti-gaming mechanisms (fraud detection)
  • Analytics/Confirmation dashboard for municipalities

Long-term:

  • Link up with civic bodies.
  • Integrate this into a gamified cleaning app.
  • Expand to other issues (like potholes..)

Built With

Share this project:

Updates