Inspiration
The inspiration for this project came from how larger communities such as Reddit bring people together through common interests on smaller forums, and how that could be applied to a physical community. A physical community means a group of people categorized by their location, whether it be a ward, city, province or country.
What it does
The purpose of the application is to voice community concerns. Normally voicing concerns to a government or corporation is discouraged because the effort feels insignificant disconnected and/or daunting to start. This combined with the difficulty of building pressure to resolve an issue often makes bringing about change difficult.
The solution to this is a community forum application built for compiling concerns and transforming them into agreed upon policy reform. CivicThreads groups concerns into threads, a shared topic where concerns about specific things are shown together. CivicThreads also takes the responsibility of ranking threads on a heat map in terms of report volume, and user approval.
How we built it
CivicThreads front end and back end were built using next.js in typescript and using tailwind css for styling. The user authentication functionality and database were created using Firebase, with Gemini API being used to make descriptions and titles for issue grouping and thread creation.
Challenges we ran into
Our development process consisted of a lot of planning for system architecture and database design. As a result of this creating an efficient and aesthetically pleasing user interface was a unique challenge we faced. It was interesting to think about and draft UI/UX design from the perspective of a user who could fit into 3 different roles.
Accomplishments that we're proud of
Accomplishments that we are proud of are in two fields of design, namely front end, and back end. In terms of front end design the layout for the thread heat map was turned into a whiteboard style canvas with layers of UI which could be panned and zoomed into or out of. This gave a clean, fluid feel to navigating threads that embodied what it should feel like to navigate the app. The back end database and user authentication design done in Firebase was also something we were proud of, as it was rigorously built for efficiency.
What we learned
We learned how critical proper project management strategies are to team development. Using various Git features effectively allowed us to track progress, manage branches responsibly, and collaborate without breaking features. We also gained experience working in structured sprints, defining a clear MVP, and iterating based on constraints. Breaking a large civic-tech idea into achievable milestones taught us how to prioritize core functionality over feature creep.
What's next for CivicThreads
The next step for CivicThreads is refinement and scale. We plan to:
- Improve the ML-powered issue grouping to better cluster similar concerns.
- Enhance moderation and verification systems to prevent spam and manipulation.
- Implement location-based filtering for ward, city, or regional specificity.
- Introduce analytics dashboards that allow policymakers or community leaders to visualize issue trends.
- Conduct user testing to refine accessibility and usability.
Built With
- cursor
- firebase
- gemini
- html
- javascript
- next.js
- node.js
- tailwind
- typescript
Log in or sign up for Devpost to join the conversation.