Inspiration

Every year, disasters like floods claim lives not because help isn't available — but because coordination fails. Rescue teams don't know where people are. Hospitals don't know how many patients are coming. The wrong departments get called. We built GhostNet AI to fix this.

What it does

GhostNet AI is a real-time disaster coordination engine that:

  • Citizen SOS — Any citizen in danger opens /sos on their phone, taps one button, and their GPS location + emergency message is instantly sent to the system
  • 5 AI Agents — Incident Analysis, Risk Prediction, Resource Allocation, Communication, and Recovery agents process every report in under 3 seconds using Groq LLM
  • Jac Graph Engine — Every zone, hospital, rescue team, shelter and incident is a typed node in a Jac graph. Walkers traverse the graph to allocate resources and resolve incidents
  • Auto-dispatch — The system automatically determines which departments to notify: rescue teams, EMS, fire department, police, coast guard, or NDRF based on severity
  • Live Dashboard — Operators see real-time map pins, agent activity, timeline, and dispatch status via WebSocket

How we built it

We built GhostNet AI using Jac as the core graph engine — all entities (zones, hospitals, teams, shelters, incidents) are modeled as typed Jac nodes connected by edges. Python agents call into the Jac graph to build, query, and resolve the disaster network. Groq's llama-3.3-70b-versatile powers three of the five agents for natural language understanding and alert generation. Flask-SocketIO pushes live updates to the operator dashboard without any page refresh.

Challenges we ran into

The biggest challenge was getting Jac 0.15.2 to work correctly with Flask's async environment. Jac's static type checker is stricter than its runtime, so we had to carefully separate the graph definition layer (.jac file) from the Python bridge layer (jac_graph.py). We also had to handle GPS permission issues on localhost HTTP and build a graceful fallback system so the SOS page works even when GPS is denied.

Accomplishments we're proud of

  • Complete citizen-to-rescue-team loop in under 3 seconds
  • Jac graph with 5 node types and 4 walker types running live
  • Real GPS coordinates feeding into AI agent pipeline
  • Auto-dispatch correctly identifying the right government departments
  • WebSocket live updates so two operators see the same incident simultaneously

What we learned

We learned how to architect a multi-agent AI system where each agent has a single responsibility and passes structured data to the next. We also learned Jac's graph-native programming model — thinking in nodes and edges rather than objects is a genuinely different mental model that maps perfectly to disaster coordination networks.

What's next for GhostNet AI

  • SMS alerts to citizens via Twilio
  • Integration with real government emergency APIs
  • Predictive flood zone modeling using historical weather data
  • Mobile app for field rescue teams with offline-first capability
  • Multi-city deployment beyond Chennai

Built With

Share this project:

Updates