Inspiration
“Text me when you get home.”
That familiar message inspired Guardian Angel. When someone feels uncomfortable walking alone, navigating an unfamiliar place, or meeting someone new, unlocking a phone and finding the right contact can be difficult.
I wanted to explore a more discreet way to prepare for a journey and reach trusted people through personal voice commands.
What it does
Guardian Angel is an Android safety companion that combines journey planning, voice-activated support, and on-device audio processing.
Users can review available incident information, compare routes, and start a tracked journey with Walk with Angel. Personal wake words and codewords support recording, trusted-contact alerts, guardian calls, and all-clear messages.
After recording, users can review transcripts, detected sound events, and route information, then export or delete the session. Route estimates provide context, not guarantees of safety.
For this hackathon, I also developed a backend that sends a user-entered trip description to NVIDIA Nemotron through Nebius Token Factory. This planning feature remains in development: the initial test returned a response, but a complete plan and Android integration have not yet been demonstrated.
How we built it
The Android prototype uses Kotlin, Jetpack Compose, Material 3, and Room. Journey features use Google Maps Compose and Android location services, with Berkeley Police Department and UCPD open data providing incident context.
The on-device audio pipeline combines sherpa-onnx and Zipformer for wake-word detection, CAM++ for voice identification, Moonshine Tiny and Silero VAD for transcription, and YAMNet through LiteRT for sound-event detection.
The AI planning backend uses Python, FastAPI, and NVIDIA Nemotron through Nebius Token Factory. User-entered trip descriptions are processed remotely, separately from the app’s local audio pipeline.
Challenges we ran into
Coordinating voice commands, location tracking, recordings, and contact actions required careful attention to what users would understand under stress. An interface must distinguish between preparing an action, attempting it, and confirming its outcome.
Bundled audio models also increase application size, while wake-word detection needs further testing across speakers and background noise.
The first Nemotron test returned an incomplete response. This exposed an important integration challenge: receiving a successful API response does not establish that the resulting plan is complete or useful.
Accomplishments that we're proud of
I brought journey tracking, discreet voice interactions, and local audio processing together in an Android prototype.
During the hackathon, I also added and tested a Nebius–Nemotron backend connection, establishing a starting point for personalized trip preparation.
The project makes its limitations explicit, including the distinction between on-device processing and cloud inference, and between prototype capabilities and features still being developed.
What we learned
A safety companion needs to communicate its capabilities precisely. Recording a session, sending an alert, and confirming delivery are different outcomes.
I learned that privacy requires attention beyond keeping audio on the device. Stored transcripts need protection, and users should understand what information leaves their phone.
Working with Nemotron also taught me to evaluate the actual output, including completeness and usefulness, rather than treating a successful connection as a finished feature.
What's next for Guardian Angel
My first priority is to produce complete, concise Nemotron plans and connect the backend to the Android interface. I will then test varied trip descriptions and measure response time and completion rate.
Further work includes controlled testing of wake words and contact actions, encryption for stored transcripts, reducing application size, and gathering feedback from potential users.
Guardian Angel remains a prototype that needs further validation before anyone should rely on it in an emergency.
Built With
- android
- cam++
- fastapi
- google-maps
- jetpack-compose
- keystore
- kotlin
- litert
- material-3
- moonshine-tiny
- nebius-token-factory
- nvidia-nemotron
- python
- room
- sherpa-onnx
- silero-vad
- yamnet
- zipformer
Log in or sign up for Devpost to join the conversation.