Inspiration
We wanted to move beyond the static "Do Not Disturb" modes of the past and build for the "Action Era" where applications don't just chat, but "sense and react" to the physical world. Missed calls often create anxiety ("Is it an emergency?" or "Are they ignoring me?"), but users can't always pick up to explain why. We realized that by combining Bluetooth Low Energy (BLE) hardware signals with the multimodal reasoning of Gemini 3, we could create an autonomous agent that understands physical context—knowing when you are miles away from your phone versus when you are simply busy in a meeting
What it does
ProxiCall is a context-aware communication orchestrator that manages your availability in real-time. It handles two distinct scenarios using "spatial-temporal" understanding:
- The Physical Anchor (Scenario A): The app uses BLE beacons (smartwatch/earbuds) to detect if you are physically separated from your device. If you miss a call while away, the agent autonomously intervenes, replying with a context-aware message: "I am currently away from my phone".
- The Whisper Agent (Scenario B): If you are wearing earbuds but let a call ring out (e.g., during a meeting), Gemini Live activates a low-latency audio stream in your ear. It whispers, "Incoming call. How should I handle it?" You can whisper back, "Tell them I'm in a meeting," and the agent uses Gemini 3 to reason, rephrase your intent into a polite professional SMS, and execute the dispatch
How we built it
We built ProxiCall as a native Android application (Kotlin) to leverage unrestricted background processes for BLE scanning. • The "Eyes" (Sensing): We used Android's Bluetooth APIs to create a proximity oracle that feeds real-time distance data into the system. • The "Brain" (Gemini 3 API): We used Google AI Studio to build the core reasoning engine. Instead of simple hard-coded rules, we feed the Gemini 3 API a "Context Object" containing the Caller ID, current calendar status, and BLE proximity data. Gemini 3 then decides the appropriate "Action"—whether to ignore, auto-reply, or interrupt the user. • The "Voice" (Gemini Live API): For the in-ear interaction, we replaced standard speech-to-text with the Gemini Live API. This allows for natural, multi-turn conversations where the user can give vague instructions ("Just tell them I'm busy") which the model synthesizes into specific, polite actions.
Challenges we ran into
Integrating the asynchronous nature of hardware signals (BLE connectivity) with the latency requirements of a phone call was difficult. We also had to refine the system prompts in Google AI Studio to ensure Gemini 3 didn't just "chat" but acted as a decisive orchestrator that outputs structured JSON for our Android app to execute (sending SMS/WhatsApp).
Accomplishments that we're proud of
We successfully built a "New Application" that fits the Gemini 3 Hackathon's goal of autonomous agents. We moved beyond a "prompt-only wrapper" by grounding the AI in physical hardware data
What we learned
We discovered that building for the Action Era requires a shift in mindset—from designing "chatbots" to designing "systems." Integrating Google Antigravity taught us the importance of Vibe Engineering: we couldn't just trust the model to guess; we had to build testing loops that verified the BLE signal strength before the agent was allowed to send a message. We also learned that Gemini Live handles interruptions much more naturally than standard speech-to-text, making the "Whisper Agent" feel like a real personal assistant rather than a robotic script.
What's next for Proxicall
We plan to implement "Thinking Levels" from the Marathon Agent track to handle complex negotiations (e.g., the agent negotiating a callback time based on the user's calendar) and introduce confidence scores for proximity detection

Log in or sign up for Devpost to join the conversation.