Inspiration
We were inspired to strengthen civic responsibility within local communities after seeing the low voter turnout in the 2025 Ontario provincial election, especially among youth. It made us reflect on how disconnected many people feel from local issues and from the communities around them. That lack of engagement also means everyday neighbourhood problems often go unreported, allowing small issues to grow into larger ones over time. We wanted to create something that encourages people to care more deeply about their neighbourhoods and take an active role in improving them.
What it does
CivicPulse is a platform that allows residents to report problems in their local communities, such as infrastructure issues, safety concerns, or public maintenance problems.
Users can submit reports directly through the app and earn points for contributing to their neighbourhood. By gamifying civic engagement, the platform encourages more people to actively participate in improving their communities.
How we built it
We built CivicPulse using a modern full-stack setup:
Frontend: React with TailwindCSS
Backend: Flask
Database: MongoDB
AI Model: Used to help process and categorize reports
This stack allowed us to quickly prototype a responsive interface while building a backend capable of handling reports and AI-powered analysis.
Challenges we ran into
One of our biggest challenges was getting the AI model to work reliably with our backend and data pipeline. Integrating it into the application and making it produce useful outputs took significant debugging and experimentation.
We also ran into issues with our mobile setup when Expo broke during development, which prevented our mobile version from working as intended.
Regarding ML object detection, we had trouble using the RoboFlow workflow and its UI to create layered ML models. Moreover, we struggled to receive the predictions from its API calls.
Accomplishments that we're proud of
We're proud that we were able to build a fully functional demo of CivicPulse within a short timeframe.
Despite technical setbacks, we successfully implemented the core features: report submission, database storage, and AI integration into the workflow.
What we learned
Through this project, we learned:
- How to design and build a full-stack web application from end to end
- How to integrate an AI model into a production-style workflow
- How to use React, Flask, MongoDB, and Tailwind together in one cohesive stack
- Valuable lessons about mobile app development and tooling with Expo
What’s Next for CivicPulse
- Build a fully functional mobile application
- Integrate with municipal systems so reports can be sent directly to local governments
- Improve AI models to better categorize, prioritize, and route reports
- Expand community features and incentives to encourage long-term civic participation
- Support Indigenous community engagement and awareness, including rewards that encourage users to explore Indigenous heritage, history, and culturally significant sites
- Strengthen machine learning detection for issues such as potholes and inadequate lighting using better datasets and a more advanced internal neural network
- Add object detection for additional infrastructure issues, such as washboarding on dirt or gravel roads and obscured or poorly marked road and pedestrian signs

Log in or sign up for Devpost to join the conversation.