Inspiration
City issues are highly visible – potholes, overflowing bins, broken lights – but the reporting pipeline is still slow, fragmented, and opaque. Residents complain, cities receive messy 3-1-1 data, and trust in local government erodes when people do not see what happened to their report. At the same time, cities are under pressure to deliver more sustainable, transparent services, but need low-risk, high-impact ways to apply AI to real problems. We built open-block.Tech to be that missing civic inbox: a simple, voice-first layer that turns everyday snapshots into structured data governments can act on.
What it does
open-block.Tech lets residents:
- Open a mobile web page, snap a photo of a city issue, and record a short voice note.
- Confirm an AI-generated summary (type, priority, location) and submit in under 30 seconds.
On the city side, it:
- Converts each report into a structured service ticket with tracking code, category, priority, address, and media.
- Displays new tickets in a table and Kanban view so teams can see what is new, in progress, and resolved at a glance.
In short, it is a real-time civic inbox that connects residents’ phones to the departments and contractors who can fix the problem.
How we built it
Frontend: A mobile-first web UI where residents can upload a photo, record a voice note, review AI-generated details, and get a tracking ID.
Backend and data model: A REST API centered on a single ServiceRequest entity (tracking code, timestamps, category, priority, description, location, media URLs, status) that both the citizen app and city dashboard use.
AI pipeline (Gemini):
Transcribes the resident’s voice note to text.
Classifies the issue (for example, pothole, garbage overflow, lighting) and infers priority and a short summary from the image plus transcript.
Voice layer (ElevenLabs):
Optionally generates a natural confirmation message such as: “Your report CFX-2026-0007 has been logged for the Streets team.”
Dashboard: A lightweight web dashboard for staff, with a table view of recent tickets and a Kanban board grouped by status, plus a detail view showing photo, map, and workflow metadata.
Challenges we ran into
Scoping for a 24-hour build. It was tempting to support every possible city issue and feature; we had to force ourselves to pick a single golden path (photo + voice → structured ticket → dashboard) and cut everything else.
Designing a data model that feels like a real city system. Mapping many Vancouver 3-1-1 request types and departments into a single ServiceRequest schema and suggested routing rules required judgment and iteration.
AI prompts vs. reliability. Getting Gemini to produce consistent categories, priorities, and summaries from noisy real-world descriptions and images, while keeping the API contract simple enough for the frontend, took several prompt and schema revisions.
Demo resilience. We had to plan for API limits, model latency, and unreliable Wi‑Fi, so we built seeded demo data and clear fallbacks into the dashboard.
Accomplishments that we're proud of
We turned a vague “smart 311” idea into a concrete, end-to-end prototype: resident input, AI enrichment, structured ticket, and live dashboard.
We designed a realistic ServiceRequest data model that can map Vancouver-style 3-1-1 categories to departments, rather than just a toy demo schema.
We kept the UX frictionless for residents (photo + voice + confirm) while giving city teams enough structure (status, priority, routing) to act on the data.
We aligned the project with sustainable cities and strong institutions goals, so it is not just a cool tech demo but a plausible civic tool.
What we learned
In civic tech, responsiveness and feedback loops matter as much as raw throughput; even small improvements in transparency can have big impact on trust.
A single, well-designed data model like ServiceRequest is more valuable than a grab-bag of features – it unlocks routing, analytics, dashboards, and integrations.
Voice-first UX plus AI can dramatically reduce form friction, but only if you keep confirmation screens and human override in the loop.
Hackathon timeboxing forces good product discipline: pick one path, make it fast and believable, and push everything else to version two.
What's next for Open-block
Deeper city integrations. Connect open-block.Tech to existing 311, asset management, and work-order systems so it becomes a plug‑in civic inbox rather than a standalone island.
Richer analytics. Use aggregated ServiceRequest data to show hot spots, trends, and performance metrics for different departments and contractors.
More categories and routing rules. Expand beyond the initial set (streets, sanitation, parks, water) and refine AI-assisted routing from issue type to department or contractor.
Resident status portal. Let residents look up their tracking code and see a simple timeline of status changes (reported → triaged → in progress → resolved).
Policy pilots with real cities. Run focused 60–90 day pilots with one or two departments in a city to measure reduction in time-to-triage and improvement in reported satisfaction.
Built With
- accessibility
- citizen-engagement
- civic
- civic-tech
- community
- crowdsourcing
- data-visualization
- digital-government
- express.js
- gps
- issue-reporting
- javascript
- maps
- node.js
- open-source
- postgresql
- public-services
- responsive-design
- rest-api
- smart-cities
- social-impact
- typescript
- user-experience
- vue.js
- web-app

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