Inspiration
Kingston’s 311 system handles over 50,000 calls each year, with average wait times of 8–15 minutes. At the same time, many residents face accessibility challenges, including language barriers for Francophone communities. We asked a simple question: what if municipal services were instant, multilingual, and transparent by default?
The City of Kingston challenge inspired us to rethink how residents interact with local government by prioritizing speed, inclusivity, and trust.
What it does
Veritas is a civic clarity engine that provides near-real-time access to municipal services. Residents can ask questions about bylaws, services, and programs and receive AI-generated responses backed by source citations. Users can upload photos of civic issues such as potholes, graffiti, or broken streetlights, which are automatically identified and routed to the appropriate department using AI vision.
Every interaction supports English and French voice input and output, and all responses are cryptographically hashed and anchored to the Solana devnet, creating a tamper-evident public audit trail that allows citizens to verify responses were never altered.
How we built it
Veritas is built with Next.js 14 on the frontend using React, Tailwind CSS, and shadcn/ui to deliver a modern glass-morphism design. The platform is powered by Google Gemini 2.0 Flash for generation, Gemini Vision for image analysis, and text-embedding-004 for vector search.
Municipal documents are embedded and retrieved using cosine similarity and fed to Gemini with strict citation instructions. We integrated ElevenLabs for low-latency multilingual text-to-speech, the Web Speech API for voice input, and Solana devnet for blockchain anchoring using a SHA-256 hash chain and the memo program. Reports and audit logs are stored in SQLite using Drizzle ORM, and reported issues are visualized through an interactive map built with Leaflet and OpenStreetMap.
Challenges
We encountered strict Gemini API rate limits and implemented exponential backoff with retries to gracefully handle request throttling. Blockchain anchoring introduced asynchronous transaction timing, requiring a UX that could display verification status without blocking the user flow.
Voice recognition behaved inconsistently across browsers, so we added feature detection and graceful fallbacks. Large municipal PDF documents also required careful chunking strategies to stay within token limits while preserving enough context for accurate responses.
Accomplishments
Within a hackathon timeframe, we delivered a production-ready platform with meaningful sponsor integration across AI, voice, and blockchain technologies. Veritas enables responses in seconds instead of minutes, supports multilingual accessibility by default, and provides a publicly verifiable audit trail that strengthens trust in civic interactions.
The platform features a polished, responsive user experience with accessibility-first design principles built in from the start.
What we learned
We learned how to build retrieval-augmented generation pipelines with proper citation tracking, work with Solana transaction mechanics and the memo program, and implement low-latency multilingual text-to-speech using ElevenLabs.
Most importantly, we learned the importance of designing civic technology around accessibility, transparency, and trust from day one.
What’s next
Next, we aim to pilot Veritas with real 311 data from the City of Kingston and integrate official municipal knowledge bases. From there, we plan to expand the platform to other Ontario municipalities.
Future iterations will include real-time issue resolution updates, push notifications for citizens, and analytics dashboards to help city planners identify trends and improve resource allocation.
Built With
- drizzle
- elevenlabs
- gemini-embeddings-api
- gemini-vision-api
- google-gemini
- icons
- lucide
- next.js
- node.js
- nominatim
- openstreetmap
- radix-ui
- react
- react-leaflet
- shadcn/ui
- solana
- sqlite
- tailwind-css
- typescript
Log in or sign up for Devpost to join the conversation.