Inspiration

As an individual living in a developing country, my family and I have lived in localities and cities where municipal corporations have mishandled the responsibility of garbage (trash) collection and disposal. This can lead to major issues around land and water pollution, as well as disease propagation among others.

Therefore, I wanted to build a solution that helps us citizens impose better accountability on the municipal authorities around us.

What it does

GarbageWatch is a cross-platform application that lets you click a picture of garbage you may have found in a public location, verify via AI whether garbage is present within the image, and if so, share the list of items detected along with your location's coordinates on social media (with tags) or any other communication application on your phone.

How I built it

The application was built using the following tools:

  • .NET MAUI: a .NET-based cross-platform app framework that let me build iOS and Android applications from a shared codebase
    • MediaPicker and Geolocation APIs: APIs available within .NET MAUI that let me capture images within the app and grab my phone's location to share within the message created for social media
  • Azure Cognitive Services - Computer Vision API: The Computer Vision API that is a part of Azure's suite of out-of-the-box ready intelligent APIs that let me analyze my image for items detected within.

Challenges I ran into

I particularly faced an issue with the .NET SDK for the preview version of the Azure Cognitive Services - Computer Vision API. The SDK is still undergoing some development since it is still in preview, due to which there is nothing I could do, aside from returning to the last stable version of the API and SDK, which worked like a charm!

Accomplishments that I'm proud of

I'm glad I was able to build a functioning MVP of my application this weekend. Additionally, this was my first time trying out the Image Analysis functionality in the Azure Cognitive Services - Computer Vision API. Understanding more about how image analysis occurs through such models was a wonderful learning experience.

What I learned

I had a few learnings this weekend:

  • Using .NET MAUI 7 to build a cross-platform app (it's substantially different from Xamarin)
  • Using the Image Analysis functionality in the Azure Cognitive Services - Computer Vision API
  • Learning more about Computer Vision on objects

What's next for GarbageWatch

One major plan I have for GarbageWatch is to have a public map interface on a web app where all detected and proven images of public garbage can be tracked. This would further add to the accountability of municipality authorities since it will make such information further accessible to concerned citizens even if they haven't been to those locations themselves.

Built With

  • .net
  • .net-maui
  • azure-cognitive-services
  • computer-vision
Share this project:

Updates