Inspiration

As a team that also volunteers with the unhoused in the Downtown and Downtown Eastside regions of Vancouver, we have encountered various people who have shared various disturbing stories about the kind of challenges they have faced in shelters, including women's shelters, which have eventually affected their mental health and life choices deeply.

What it does

Our application tries to provide an infrastructure for mental rest in women’s shelters. By using privacy-first, edge-based audio intelligence, it recognizes patterns like vocal tension and physical energy shifts. This provides a responsive environment where needs are heard without the social risk of speaking out.

How we built it

We built the system in two parts: an edge detection script running on a laptop acting as the sensor, and a web-based staff dashboard running on a separate device. The edge script was written in Python, combining OpenWakeWord and YAMNet for audio detection, and sends alerts over local WiFi using HTTP requests to a Flask backend. The dashboard was built with Flask and Socket.IO, enabling live updates to the browser without any page refresh. All devices communicate over a shared hotspot, keeping the system self-contained and deployable without internet access.

Challenges we ran into

  1. YAMNet generalization gap: the model worked on YouTube audio but struggled on real voices due to domain mismatch and different acoustic conditions.
  2. Frontend–backend integration: real-time alerts, API calls, and consistent state syncing added complexity.
  3. Distress classification: initially failed to distinguish sounds; required threshold tuning and iterative testing to increase the accuracy

Accomplishments that we're proud of

We are proud to have successfully tuned our machine learning models to accurately recognize the subtle vocal tension and energy shifts that were initially difficult to identify. By integrating these models into a functional, privacy-first prototype, we developed a system that processes all audio locally on the edge, providing a supportive layer without ever recording voices or compromising resident identity. Our team effectively coordinated the technical communication between independent edge sensors and a live-updating staff dashboard over a self-contained local network.

What we learned

Building this pushed us to think beyond just writing code. We learned how to integrate machine learning models into a real-time audio pipeline, coordinate communication between multiple physical devices over a network, and debug issues that only appear when hardware is involved. We also learned that university WiFi networks isolate devices from each other, which we discovered the hard way mid-demo setup. More broadly, this project taught us how to frame a technical solution around a human problem, and how much the framing matters when the people you're designing for are vulnerable.

What's next for Safe Space

SafeSpace will transition from laptop prototypes to dedicated, low-cost sensor units using the Raspberry Pi Zero 2 W and INMP441 MEMS microphones. These discreet, low-power units can be mounted throughout shelter hallways and common areas to provide permanent environmental monitoring while running Python natively. With an estimated cost of $25 to $35 CAD per unit, this hardware upgrade enables affordable, facility-wide deployment that remains securely contained on local networks.

Built With

Share this project:

Updates