-
-
Civic Sense- Infographic
-
Civic Sense- Backend
-
Civic Sense- Dashboard
-
Civic Sense- Protect Families- defaults to parent
-
Civic Sense-Accelerate Response- defaults to First Responder
-
Civic Sense- Build Trust-defaults to Civic Manager
-
Civic Sense- Alerts on dashboard
-
Civic Sense- War Room for rapid actin
-
Civic Sense- Chatbot
-
Civic Sense- Live Alerts
-
Civic Sense- Map
-
Civic Sense- About 1
-
Civic Sense- About 2
-
Civic Sense- MongoDB
-
Civic Sense- Cluster
-
Civic Sense- Flink
-
Civic Sense- Cluster Overview
-
Civic Sense- Topics
-
Civic Sense- Client
-
Civic Sense- Stream Lineage
-
Civic Sense- Google Cloud Run
Inspiration
Every day, cities generate thousands of alerts—emergency warnings, transit disruptions, infrastructure failures, school closures. But these alerts are fragmented across multiple systems, generic and not personalized, confusing for vulnerable populations, and delayed due to batch processing. This results in seniors missing warnings, parents unable to decide if school is safe, and workers stranded by transit issues.
What it does
CivicSense transforms real-time city data streams into clear, actionable guidance using AI on Data in Motion. The system:
- Ingests live events from emergency services, transit systems, and infrastructure monitoring
- Processes streaming data in real-time using Apache Flink SQL
- Applies Multi-Agent AI reasoning with Google Gemini 2.0
- Delivers personalized safety guidance via WebSocket in under 5 seconds
- Provides persona-based filtering for Parents, Students, Seniors, Commuters, and First Responders
How we built it
We built an event-driven architecture powered by:
- Confluent Cloud (Kafka): Central nervous system for high-velocity data streams
- Apache Flink SQL: Real-time stream processing with 5-minute tumbling windows for aggregations
- Google Gemini 2.0 Flash: Multi-agent AI system (Triage, Impact, Guidance, Monitoring agents)
- MongoDB Atlas: Vector search for RAG pattern on civic guidelines
- FastAPI Backend: Asynchronous Python backend handling orchestration
- React + Vite Frontend: Modern, component-based UI for real-time interactivity
- Google Cloud Run: Serverless deployment with auto-scaling
The system uses intelligent Flink SQL queries to detect incident clusters and generate severity signals before data hits a database, enabling immediate "High Risk Area" alerts.
Challenges we ran into
- Integrating real-time streaming with AI reasoning while maintaining sub-5-second latency
- Implementing production-ready Flink SQL with graceful fallback when deployment is pending
- Handling burst mode scenarios (40+ events in 2 minutes) without degradation
- Designing multi-agent orchestration that provides contextual, persona-specific guidance
- Ensuring system reliability with automatic reconnection and error handling
Accomplishments that we're proud of
- Achieved event-to-insight latency of under 500ms
- Built a true "AI on Data in Motion" architecture demonstrating Confluent's streaming platform
- Created a system serving the 98% (general public) vs traditional first-responder-only tools
- Implemented advanced Flink SQL with windowed aggregations and clustering detection
- Designed for hyper-scale impact - single deployment can serve millions of citizens
- Maintained 99.99% uptime target with serverless architecture
What we learned
- The power of combining streaming data platforms with modern AI for real-world problems
- How Flink SQL enables reflexive pattern detection on live data streams
- The importance of graceful degradation and fallback mechanisms in production systems
- Designing for vulnerable populations requires simplifying complex information without losing accuracy
- Vector search and RAG patterns work effectively with streaming data contexts
What's next for CivicSense
- Multi-language support (Spanish, Chinese, etc.)
- Voice input/output integration
- Mobile apps (iOS/Android)
- Push notifications
- Historical analysis & predictive alerts
- Integration with city 311 systems
- Streaming Agents integration
- Confluent Intelligence features
- Expansion to more cities and municipal systems worldwide
Built With
- apache
- cloudgoogle
- confluent
- flinkgoogle
- kafkaapache




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