Back to All Projects


An Open Source mobile app for tracking and reporting civic issues such as potholes, streetlight outages, and garbage collection. This app allows users to take a photo of the issue and submit it along with their location.

Repository Video 📺️


Problem Statement

Municipal concerns including potholes, broken streetlights, and waste collection issues are usually experienced by communities. Reporting these problems to the proper authorities can be frustrating and time-consuming, frequently involving numerous phone calls and emails. In order to address these difficulties, an open-source application that allows individuals to report and track civic issues can be quite helpful. By simplifying the process of reporting problems, this software can make it simpler for citizens to have their complaints heard and addressed.

By using this app, residents may encourage their local government to fix these problems and help make their town cleaner, safer, and more livable. Due to the fact that the software is open-source, it can be modified to meet the particular requirements of various communities. The application being open-source ensures that it is customizable and can be adapted efficiently, making it a powerful tool for instilling civic responsibility and promoting active citizenship.


An Open Source application for tracking and reporting civic issues such as potholes, streetlight outages,garbage collection and other such issues. This app allows users to take a photo of the issue and submit it along with their location. The app then use this information to create a map of reported issues, which could be made available to city officials to help prioritize and address the most pressing problems. The app also has a feauture where the issue once posted will be marked in a map of that area.

How It Works?

FixMyCity is an open source application made using Flutter and Firebase. Since it is made using Flutter we can use it as both mobile app as well as web application. A user is supposed to Login with their registered credentials. Once logged in, the user is asked permission to access the location they are in. When accepted, the app automatically reads the location in terms of latitude and longitude. The user can then choose the issue they want to point out from a dropdown or type out the issues along with an image of the issue. The image can either be taken from camera or uploaded from gallery. The user can then just submit the complaint issue.

When the user submits a matter that needs to be taken care of, the location coordinates, the issue and the photo is saved to the database which is firebase in this case. Then the list of coordinates from all the issues are used to place markers over the map.


Initial Stage

Initially we planned on building a mobile application using Flutter and Firebase with the following feautures: 1. Reporting civic issues like potholes, streetlight outages,garbage collection and other such issues. 2. A feauture for taking picture of an issue or uploading from gallery. 3. Submit the issue details along with location and image. 4. Using all the information, creating a map of reported issues 5. Tracking the status of reported issues and providing feedback to the reporter

Current Stage

We were able to successfully implement the first four features that we initially planned to implement. We have successfully built an open source app that helps individuals to report a civic issue to have their complaints heard and addressed by proper authorities. In future we are planning to implement the ability to track the status of the reported issue and the ability to view the details of the issue directly from the map.

Work Process

We used our prior understanding of Flutter and Firebase while also picking up new abilities as needed to complete the app's development.In order to guarantee that only authorised users could access the app's services, we first worked on putting up the authentication mechanism. Then, we put basic back-end connectivity into place, allowing users to engage with the app through dropdown menus and input fields.

We had to learn about Flutter plugins, particularly those relating to camera and gallery access, in order to allow users to capture and upload photographs. While some investigation was necessary, we were able to locate helpful materials on YouTube and in the official Flutter documentation. We also needed to use various dependencies, including geolocator and Flutter map, which were new to us. Again, we relied on tutorials and documentation to learn how to use these tools effective

What all are working/not working?

We were able to properly implement the option for users to report civic, along with the location coordinates and the ability to add a picture of the issue from camera or by uploading from gallery. We were also able to place markers on the map where the issues exist by making use of the coordinates that we get from the users.

We weren't able to include the option to check the status of the issue.

Madhav Biju
devika jayan
Arya Nandakumar

Pushed the final Commit and added detailed documentation. The apk has been published as a release in the git repo

March 5, 2023

Project created by Madhav Biju

March 2, 2023