🚀 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:

  1. Email automation was the first building block.
  2. We then added image uploads with EXIF-based GPS extraction.
  3. Integrated reverse geocoding to convert GPS into real-world addresses.
  4. Added Tavily search + LLMs to find the right civic authority for each issue.
  5. Built Twitter API integration to post tweets for public pressure.
  6. Developed Streamlit dashboards for citizens and administrators.
  7. Implemented smart issue grouping to detect and combine similar reports.
  8. 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.
  9. 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

Share this project:

Updates