Inspiration
KingstonConnect was inspired by a simple problem we all experience: reporting a city issue often feels like sending a message into a void. Residents don’t know if their concern was heard, who it was sent to, or what happens next. For many everyday problems, like potholes, broken streetlights, or unsafe sidewalks, it’s often not obvious who to even report it to. It’s not an emergency, so it’s not 911, but beyond that, most people don’t know where to turn. At the same time, cities receive reports through scattered channels and must manually sort, prioritize, and track issues, while also trying to communicate progress and share updates about ongoing projects. We wanted to create a transparent, two-way system that removes this confusion, helps residents feel heard, and gives city staff a more organized way to act.
What it does
KingstonConnect is a civic engagement platform that connects residents and city staff around real, local issues. Residents can report problems like potholes or broken infrastructure, add photos and locations, and track progress as issues move from submission to resolution. City staff can review reports, prioritize them using a shared queue, update statuses, and post official updates-so everyone can see what’s being worked on and why.
How we built it
We built KingstonConnect as a web-based application focused on accessibility and clarity. The frontend was built using Next.js and React, with Tailwind CSS used to create a clean, responsive interface. User authentication, role management (resident, city staff), and data storage are handled through Supabase, allowing us to enforce role-based access and keep city workflows secure. For location-based reporting, we integrated interactive maps using Leaflet, enabling users to attach map pins to issue reports and visualize problem areas across the city. Incoming issues are managed using a priority-based queue, which ranks reports based on urgency, community input, and time waiting to help staff focus on the most impactful problems first. The application is cloud-hosted, making it easily accessible through a browser and scalable for real-world city use.
Challenges we ran into
One of our biggest challenges was balancing simplicity with real-world complexity. Designing a priority system that felt fair and understandable-while still being flexible for city needs-required multiple iterations. We also had to think carefully about how to present the same data clearly to both residents and staff, each with different perspectives and goals.
Accomplishments that we're proud of
We’re proud of building a complete end-to-end civic workflow, from issue reporting to resolution with visible updates. The priority queue gives structure and transparency to how issues are handled, and the map-based interface makes city activity easy to understand at a glance. Most importantly, the platform makes progress visible rather than hidden.
What we learned
Through this project, we learned how to design software around real community needs, not just technical features. We gained experience thinking about user roles, transparency, and trust, as well as translating abstract civic problems into concrete product decisions.
What's next for KingstonConnect
Next, we’d like to add notifications for status updates, improve duplicate issue detection, and provide analytics to help cities identify recurring problem areas. With further development, KingstonConnect could scale beyond a single city and become a shared civic infrastructure for communities.
Built With
- css
- leaflet.js
- next.js
- next.js-16-(react-19)
- openstreetmap
- react19
- supabase
- supabase-(auth-+-database-+-storage)
- tailwind-css
- typescript
Log in or sign up for Devpost to join the conversation.