Inspiration

Five weeks ago, the Cornell 7 case went public, a lawsuit alleging seven fraternity brothers assaulted an unconscious student. This month, two women came forward about sexual assault incidents at UChicago fraternities.

Considering the recent and tragic events of sexual assault on college campuses here in the US (and the greater & largely overlooked issue of collegiate SA), we were inspired to build something to help our friends and community stay safe while out in public and around campus.

Life360 and Apple's Find My are the current standard for Gen Z safety, and either option makes you decide between two suboptimal choices: a) call for help yourself and compromise your agency while you may be inebriated, or b) leave your family and friends responsible for your well-being based on guesses made regarding a blue dot moving slowly across a map. Neither really works. We noticed every other personal safety app (e.g life360) is incredibly lazy; it only calls for emergency when the user physically interacts with their phone and dials 911.

We noticed that in many cases of assault, the victim has their phone stolen or is otherwise physically unable to call for help. To solve this, pip gives every phone internalized spatial and embodied intelligence, using the phone's internal array of sensors to detect when its user might have been physically assaulted or had their phone stolen.

Pip is an application not just built for the people we know and love, but for the community of college students who are rightfully concerned about their self-agency falling into the wrong hands on a night out.

What it does

Pip is the first passive, agentic safety solution that looks at a series of events and builds a context understanding to keep you safe.

Pip will automatically detect signals of risk (large G-forces induced by pushing/falls, passive microphone duty cycles to record screams/calls for help, extreme twisting/acceleration on the phone, gait patterns, etc) to determine how likely the user is in danger.

Readings from gyroscopes, accelerometers, and other sensors local to the phone are simultaneously inferred to predict that something has fallen. Pip stores these events as "incident reports," a note in a book of abnormal activities within a certain time frame.

With the use of Claude's Haiku agents, we're able to reason through this logbook of reports cheaply and quickly through the entire night, analyzing incidents with other incidents to build an understanding of a potential story that may contribute to a conclusion about our users' safety. For example, this agent would logically conclude that a sequence of stumbling, falling, and then a sudden lack of movement is concerning, even more so than the same exact events if they were run backwards. Using Claude Haiku 5.5 as a performant and accurate agent, Pip evaluates data readings and signals of risk to create an overall "risk score" that determines how likely and how much danger the user is in.

Pip also includes the user's close friends and trusted contacts in an emergency. When heightened risk is detected, Pip will broadcast the user's location and risk report to the user's trusted contacts so they can step in and help as well. If, at any point, Pip concludes you've lost agency in a critical situation, it takes initiative to grant abilities to the center of Pip's function: your trusted friends. In cases like these, where a user may be outside of a pip zone (far away from their friends and safe-areas), pip hands your agency to your chosen contacts: the ability to ping your phone, see your exact location, and call 911 on your behalf. Until a truly critical moment, the data is end-to-end encrypted, so not even our server can read it, keeping your privacy intact.

How we built it

We mainly use Rust for sensor fusion, data classification, encryption of user data, and cross-platform (web, android, ios support). Our Android later uses Kotlin to run YAMNet and Vosk to detect screams and cries for help. We use typescript for the frontend dashboard and output of all the data. Postgres is used for the database and everything is hosted using Supabase.

Challenges we ran into

Accurate spatial intelligence for the phone is highly difficult due to the limited range of its sensors. We spent a long time figuring out how to combine data from all the sensors, reading several papers on inferring gait and stride from basic acceleration and gyroscope readings. We solved this using high-level signal processing methods by computing features such as the sway, wobble, regularity, and cadence of peaks/timings within the gyroscope readings. We implemented RMS and low pass filters for clean data.

Accomplishments that we're proud of

Pip is the first personal safety app to take in the full context of a risky situation. Even before the user ventures out, Pip is able to intelligently decide if the user's gait signals they are drunk or impaired, helping Pip alert trusted contacts well in advance. No other personal safety app does this to any degree of accuracy and we are proud to advance the frontier of personal safety and mobility.

What we learned

We learned a lot about signal processing, sensor fusion, and reading in from noisy/real-world data. We also realized that ensuring personal safety and confidence to go outside is incredibly difficult and a much more involved process.

What's next for pip

We plan to rollout the app on UChicago and Cornell before extending to more colleges around the US. We'll track how often critical alerts were valid as confirmed by friends afterwards, and what sequences of events are most commonly correlated with dangerous cases and false alarms. Impact will come as a measured progression towards credibility and successful agentic reasoning.

Built With

Share this project:

Updates

Submission history