-
-
WatchHer: Walk in Confidence
-
WatchHer's mobile watch interface when the user is detected to be in danger
-
WatchHer's mobile app interface when the user is detected to be in danger
-
WatchHer notifies the user's circle via text message that they are in danger!
-
WatchHer's mobile watch interface when the user is not in danger
-
WatchHer's mobile app interface when the user is not in danger
Inspiration
Feeling unsafe shouldn’t require pulling out a phone, making a call, or finding the right moment to ask for help. In many situations, bodily stress is the first signal that something isn’t right, but it often goes unnoticed.
We were inspired to create WatchHer after recognizing how often women experience heightened stress in everyday situations like walking alone, commuting, or navigating unfamiliar environments. Existing smartwatches already collect powerful health and psychological data, yet that data is rarely used for real-time personal safety. WatchHer was built to change that, by transforming stress into a signal that can support women.
What it does
WatchHer is a wearable safety system that uses existing sensors on a Samsung Galaxy Watch to monitor stress levels in real time. By analyzing data such as heart rate trends and activity patterns, WatchHer detects a spike in stress and uses the machine learning algorithm, Random Forest, to determine if this indicates potential danger. When abnormal stress is detected, WatchHer will compare this data to other episodes, determining if this stress is potential danger. If there is danger, WatchHer will notify the user's emergency contacts, allowing them to check up or intervene.
How we built it
We built WatchHer for WearOS and Android using Andriod Studio. We wrote code in Kotlin to develop the mobile phone and watch apps, and used Python to create the machine learning model and run the Flask backend. The machine learning model we used was Random Forest, and we pre-processed various parameters such as heart rate variability and time of day, weighted towards 2:30 am. We also used the Telegram API to send notifications to emergency contacts.
Challenges we ran into
Having developed a mobile app before, we encountered a number of both trivial and obscure challenges. We dealt with unexpected behaviors from our development environment, device emulators, internal Android utilities, and the Telegram API we used to send messages. Our greatest challenge was polling data from the watch sensors; this step took more time and effort than every other part of the integration process.
Accomplishments that we're proud of
We are very proud of the synchronization the mobile phone app and watch have with one another. The model has access to a near-live feed of diagnostic information with very limited user setup. When danger is detected, both the phone and respond promptly.
What we learned
On top of this being our first Android application, this is also each team member's first introduction to the Kotlin programming language. A large part of our development time was spent studying and experimenting with various Android services and APIs. This is also our first experience training a classical ML model.
What's next for WatchHer
Our next steps focus on making WatchHer more reliable and useful in real-world situations. We plan to expand our machine learning model to incorporate additional signals available on modern smartwatches, such as stress level and time-of-day context, improving detection accuracy and reducing false positives. In addition, a major next step would be to improve the UX, particularly as it pertains to registering new emergency contacts. Ultimately, our goal is to streamline WatchHer to be more accessible to more users on more devices.
Log in or sign up for Devpost to join the conversation.