Inspiration

Emergency services are a critical, yet often overlooked aspect of daily life. While one of our team members was working on their capstone project with the Norman Emergency Communications & Operations Center, he observed firsthand the challenges that dispatchers face in handling emergency calls.

This got us thinking: What if we could leverage technology to improve workflows for dispatchers, reduce stress, and optimize resource allocation?

Dispatchers juggle hundreds of calls per day, managing fire, EMS, and police resources in real-time. These high-pressure decisions can determine life-or-death outcomes.

With Rapid Response, we aimed to create a system that acts as an AI-powered middleman, helping dispatchers focus on calls and critical decisions while letting AI handle resource optimization efficiently in the background.

What it does

  • The AI backend is the real product. The game is just a demo to showcase how it could work in real life.
  • Manages emergency resource allocation for fire, EMS, and police units.
  • Optimizes dispatcher workflows to reduce stress and speed up decision making.
  • Handles emergency overflow, ensuring no calls are starved of service, even with scarce resources.

How we built it

AI Backend

  • The AI backend is developed in Python using Google OR-Tools for constraint-based programming.
  • It features, while currently limited, custom weights for prioritization such as severity, response time, and resource availability.

Godot Frontend

  • The frontend is developed in the Godot game engine using the GDScript language for game logic.
  • To accelerate development times and achieve a minimum-viable-product, we used sprites from public domain.
  • Provides an interactive demo of how such integration may work in the field.

Challenges we ran into

  • First time using Godot. Learning a new engine and scripting language in such a short timeframe proved difficult at first.
  • First time using Google OR-Tools. We've never done constraint programming before and had to figure out how to apply this to real-world problems using the constraints we defined.
  • Designing an AI capable of handling real-time emergency assignments was for sure a steep learning curve.

Accomplishments that we're proud of

This project reinforced the idea that technology doesn't have to be complex, like an entire Large Language Model, to be impactful. Sometimes, the best solutions are, like the theme states, quietly running in the background, improving lives without being intrusive.

What we learned

  • We now understand how AI can be used for real-world decision making and optimization.
  • We learned GDScript, scene management, and UI design.

This project wasn't just about coding for us, it was about creating a proof-of-concept for something that could actually help people in emergency services, and as a result help people in need of emergency services.

What's next for Rapid Response

Did you know that Norman alone receives over 1,000 calls per day, on average (excluding hectic home game days)? Managing resources efficiently could reduce stress for dispatchers and improve the safety and wellbeing of the public.

With further development, this project could very well be pitched to real-world emergency departments dealing with dispatcher shortages and high call volumes. It's lightweight and can run on-device with minimal overhead, making it cost-effective even for precincts with limited technology on hand.

Built With

  • ai
  • constraint-programming
  • gdscript
  • godot
  • google-or
  • python
Share this project:

Updates