Inspiration
People report accidents, floods, outages, and safety risks every day. Most reports are messy. Short texts. Voice notes. Photos with no context.
Authorities and communities miss patterns because signals arrive fragmented. I wanted a system that listens first, then makes sense of the noise.
That idea became SignalGrid.
What SignalGrid Does
SignalGrid turns raw human reports into shared situational awareness.
A user submits a short description or image of an incident. Gemini 3 extracts the event type, location hints, severity, and confidence. Events are grouped into live clusters when patterns appear. The system generates short public safety briefs that show what is happening now, what changed, and where attention is needed.
The goal is speed, clarity, and trust.
How I Built It
The backend accepts reports and stores them as raw inputs. Gemini 3 processes each report using structured prompts for event extraction.
A second Gemini flow clusters similar events by location, time, and type. Another Gemini prompt generates concise situation briefs from active clusters.
The stack includes:
- Node.js and Express for APIs
- MongoDB for reports, events, clusters, and briefs
- Gemini 3 for extraction, clustering, and briefing
- Google Maps for location context
Every AI step returns strict JSON to keep the system predictable.
Challenges
Human reports are vague. Locations are partial. Time references are unclear.
The hardest part was forcing structure without guessing. Gemini 3 handled this well when guided with tight schemas and confidence scoring.
Another challenge was preventing noise from becoming false alarms. Clustering rules and conservative severity scoring helped reduce that risk.
What we have Learnt
AI is most useful when it explains uncertainty instead of hiding it. Structured prompts matter more than model size. Good situational awareness is about restraint, not hype.
SignalGrid is a step toward calmer, clearer public safety intelligence.
What’s next for SignalGrid
Expand beyond text and images to live audio and video feeds. Add multilingual support for local languages. Introduce trusted reporter scoring to improve confidence over time.
Deploy a lightweight public dashboard for communities and responders. Add alert thresholds for automatic escalation when clusters worsen. Integrate SMS and USSD for low-bandwidth reporting.
Long term, SignalGrid becomes a shared safety layer. One system. Many inputs. Clear signals when they matter most.
Built With
- dart
- express.js
- flutter
- gemini
- github
- netlify
- node.js
- postgresql
- postman
- render
Log in or sign up for Devpost to join the conversation.