🚀 Inspiration
While driving with my father one day, I hit a series of potholes that jolted the car badly. As a new driver, I hadn’t seen them in time. Frustrated, I asked my father why such road issues aren’t fixed. His response was: “It’s always like this—what can we even do?”
That moment sparked something in me. I tried to find ways to report the issue, but the process was confusing, unclear, and time-consuming. I realized that most people don’t report civic issues—not because they don’t care, but because the system makes it hard to act. I wanted to change that.
💡 What it does
CivicSpotter is a smart civic issue reporting platform that allows users to:
- 📸 Upload photos of issues like potholes, garbage dumps, or broken streetlights
- 📍 Automatically detect and extract the location from the photo or device
- 🤖 Group similar issues based on GPS and issue type to avoid duplicates
- 📧 Send automated emails to local authorities
- 🐦 Generate and post tweets to amplify the issue on social media
- 📊 Track, review, and analyze issues via dashboards for both users and admins
It’s designed to be extremely simple for citizens and powerfully insightful for administrators.
🛠️ How we built it
The project evolved step by step:
- Email automation was the first building block.
- We then added image uploads with EXIF-based GPS extraction.
- Integrated reverse geocoding to convert GPS into real-world addresses.
- Added Tavily search + LLMs to find the right civic authority for each issue.
- Built Twitter API integration to post tweets for public pressure.
- Developed Streamlit dashboards for citizens and administrators.
- Implemented smart issue grouping to detect and combine similar reports.
- Imported the project into Bolt.new from GitHub to build extra UI pages, polish the analytics dashboard, and fine-tune layout and flow using its visual tools.
- Created live demo simulations with real-time tweet generation, metrics, and humor.
🧗 Challenges we ran into
- Twitter API access was extremely difficult to configure and required deep digging, multiple rejections, and trial/error.
- Designing a flow that’s ultra-simple for users while handling complex backend workflows (location, grouping, approvals, etc.).
- Building location-based duplicate detection in a way that works across neighborhoods and cities.
- Ensuring the system can scale with more users and data, without losing speed or clarity.
- Debugging third-party services (email, Tavily, APIs) with limited documentation.
🏆 Accomplishments that we're proud of
- Created a fully working civic issue platform from scratch that covers reporting to resolution.
- Made the experience so simple that even a non-technical user can submit a civic issue in under 30 seconds.
- Integrated multiple AI services, automation pipelines, and geospatial logic without breaking UX.
- Enabled public accountability through tweets and potential civic transparency.
- Designed a modular, expandable architecture that can be deployed across multiple regions.
📚 What we learned
- Real-world civic problems require simple UX but robust backend engineering.
- APIs like Twitter and geolocation services can be hard to integrate, but once done, they unlock serious power.
- CivicTech is challenging—but deeply rewarding.
- There’s a huge difference between just building a tool and making a tool that people can realistically use every day.
- Iterative development with continuous testing and user feedback is key to building sustainable solutions.
🔮 What's next for CivicSpotter
- 📆 Issue Timeline & Trends: Identify how civic issues rise over time and in specific months.
- 🏗️ Government Efficiency Tracker: Measure how long authorities take to fix issues and who’s most responsive.
- 📌 Corruption Signals: Spot repeated repairs in the same areas to identify misuse of public funds.
- 🧠 Smarter Grouping: Use vision models + text to better cluster related reports.
- 🏛️ Government Portal Collaboration: Work with officials to assign the right person for each issue.
- 🌍 Scalability: Expand the platform to support multiple cities, languages, and local authorities.
- 🔐 User Notifications: Let users track responses and get updates on issue resolution.
CivicSpotter isn’t just a project—it’s a mission to make cities better, one photo at a time.
PS: The Admin password is as follows:
Username: vasu
Password: MakerOfGod1211
Built With
- python
- streamlit
Log in or sign up for Devpost to join the conversation.