Inspiration

“Text me when you get home.”

For many women, that simple message is part of everyday life. It’s an act of care, but it also reflects how often we have to think ahead about our safety—whether we’re walking home after an event, meeting someone new, or navigating an unfamiliar place.

I created Guardian Angel to explore how technology could make it easier to prepare for those moments and reach trusted people for support. I wanted to build something that feels like a companion: discreet, accessible, and designed around the choices of the person using it.

What it does

Guardian Angel is an Android safety companion that brings together journey planning, voice-activated support, and trusted contacts.

Before a trip, users can explore safety estimates, review reported incident clusters and safe places, and compare routes using information such as lighting and travel time. These estimates reflect available data; they can’t guarantee that a location or route is safe.

With Walk with Angel, users can follow a route while the journey remains active when their phone is locked or another app is open. The prototype also supports personal codewords for different responses, including recording a session, alerting trusted contacts, initiating a call to a guardian, and sending an all-clear.

After a recording, users can review a session timeline with a transcript, detected sound events, and route information. They can choose whether to export or delete it.

For the hackathon, I also began developing an AI safety-plan feature. A user provides a general trip description, and a backend sends it to NVIDIA Nemotron through Nebius Token Factory. The connection returned a successful response in testing, though the response was cut off before producing a complete plan. Improving the output and connecting the feature to the Android interface are next steps.

How we built it

The Guardian Angel prototype is built for Android using Kotlin, Jetpack Compose, Material 3, and Room. It uses Google Maps Compose and Android location services for journeys, alongside Berkeley Police Department and UCPD open data for incident context.

The existing audio features use several on-device tools:

  • sherpa-onnx with Zipformer for wake-word detection.
  • CAM++ for voice identification.
  • Moonshine Tiny and Silero VAD for transcription.
  • YAMNet through LiteRT for sound-event detection.

Processing audio on the device was a deliberate choice: I wanted to explore how Guardian Angel could provide discreet support while keeping recordings on the user’s phone.

For the hackathon, I added a Python and FastAPI backend that connects to NVIDIA Nemotron 3.5 Lightning through Nebius Token Factory. In a local API test, the backend returned a successful response from the model. The text entered into this AI feature is sent to the backend and Nebius; it is separate from the app’s on-device audio processing.

Challenges we ran into

One challenge was bringing together several different parts of a safety experience: voice commands, location, audio processing, and trusted-contact actions. Each feature needs to be understandable when a user may be distracted or under stress.

Running models on the device also creates tradeoffs. Bundling audio models increases the app’s size, and wake-word detection still needs more testing across voices, environments, and background noise.

The Nemotron integration brought its own learning curve. After connecting the backend to Nebius, I received a successful response, but the model used the available output space on a draft and did not finish the checklist. That showed me the importance of testing the actual response—not just whether an API call succeeds.

Accomplishments that we’re proud of

I’m proud of taking Guardian Angel from an idea into an Android prototype with voice-activated interactions, journey planning, and on-device audio processing.

I’m also proud of adding and testing my first Nebius–Nemotron backend connection. It was a meaningful step toward exploring how generative AI could help users prepare for a trip and think through a check-in plan.

What we learned

Building Guardian Angel taught me that a safety app needs to earn trust. Users should understand what an action does, what information is shared, and what the technology can—and cannot—promise.

I also learned that privacy requires attention throughout the system. The prototype processes audio locally and protects voiceprints, but stored transcripts still need encryption. Likewise, the new AI planning feature sends the user’s entered text to a remote service, so that distinction needs to be clear.

Working with Nemotron taught me that a successful connection is only the beginning. The response must also be complete, useful, and appropriate for the person receiving it.

What’s next for Guardian Angel

My next step is to improve the Nemotron response so it produces a concise, complete safety plan, then connect that feature to the Android app and test the experience from start to finish.

I also want to gather feedback from potential users, strengthen transcript protection, and validate wake-word and alert behavior in controlled scenarios. Guardian Angel is a prototype and needs further testing before anyone should rely on it in a real emergency.

My long-term goal is to make Guardian Angel a thoughtful companion that helps women feel more prepared and connected to the people they trust.

Built With

  • android
  • cam++
  • fastapi
  • google-maps
  • jetpack-compose
  • keystore
  • kotlin
  • litert
  • material-3
  • moonshine
  • nebius-token-factory
  • nvidia-nemotron
  • python
  • room
  • sherpa-onnx
  • silero-vad
  • yamnet
  • zipformer
Share this project:

Updates

Submission history