💡 Inspiration

Our phones can do almost anything, yet we still do all the work ourselves. Ordering dinner means opening an app, searching, choosing a size and checking the price. Booking a trip means comparing three or four websites. Even a quick WhatsApp message takes five or six taps.

Today's voice assistants mostly talk: they answer a question but rarely finish the job, and they don't remember who you are. In India they also struggle with how people really speak, mixing Hindi and English in one sentence:

"Blinkit se doodh order kar do."

We wanted an assistant that actually gets things done inside the apps people already use, understands English, Hindi and Hinglish, remembers you, and stays honest and safe while doing it. That became AURA.

🛠️ How we built it

AURA is an Android assistant you wake by saying "Hey Aura" from any screen. Each command follows the same path:

$$ \text{voice} \rightarrow \text{understand} \rightarrow \text{choose a skill} \rightarrow \text{act in the app} \rightarrow \text{verify} \rightarrow \text{answer honestly} $$

  • Wake word, on the phone: an offline Vosk model detects "Hey Aura", so that audio never leaves the device.
  • Speech: Android's speech recognition, with hints for app names, products and contact names. AURA picks the guess that makes the most sense as a command.
  • Brain: NVIDIA's open Nemotron 3 models (Ultra as the main model, Super as a fallback), served through NVIDIA's API.
  • Hands: an Android accessibility service reads the screen and taps real buttons in Zomato, Blinkit, WhatsApp, YouTube and more.
  • Backend: a FastAPI AI service and a Node/Express API on Render, with per-user data in Supabase protected by row-level security.
  • Live data: SerpAPI for Google Flights, web search and real product prices.
  • Hinglish: one set of rules on the phone, the app and the server turns commands like YouTube par CarryMinati ka latest video chala" into actions, keeping names and products exactly as said.

For flights, AURA doesn't just pick the cheapest option. It scores every flight $f$ against your preference.

Verification rule: AURA only says added to cart when the item's quantity stepper or the cart bar is on screen. In the end it reads back the real product, quantity and price:

$$ \text{total} = \sum_{i} q_i \cdot p_i \qquad \text{e.g. } 1 \times ₹36 = ₹36 $$

The project has 350+ automated tests across the AI service, the app and the Android code, plus end-to-end runs on a real phone.

🧗 Challenges we ran into

  • Real apps are messy. Blinkit reopened on leftover screens, a promo button jumped straight into Zomato, one button appeared as three nested elements, and quantity steppers were written in words ("Decrease quantity · quantity 2"). We fixed each one by watching real runs on the phone, then changed the approach: AURA now opens the store's own search link and lands directly on the results.

  • Not lying. Early versions said "added to cart" when nothing was added. Every action now has a check, and AURA reports only what it can actually see.

  • Questions vs. commands. "How many glasses of water have I had?"* was being logged as a glass of water, because it contained "had" and "glasses". We built a read/write classifier for English, Hinglish and Devanagari Hindi, so a question can never change your records.

  • The microphone during calls and screen recording. Android gives other apps silence while a call or recorder holds the microphone. AURA keeps working by reusing its own wake-word audio stream.

  • Free-tier limits. Some free AI models took $30$–$60\,\text{s}$ per reply. We measured each model one at a time and switched to one answering in about $1\,\text{s}$. The free server sleeps when idle, and price searches have a monthly quota.

📚 What we learned

  • Verification matters more than intelligence. An assistant people trust must check its own work before saying "done".
  • Real devices beat assumptions. Most of our hardest bugs appeared only when AURA used real apps on a real phone.
  • Language is local. Supporting how people actually speak, mixing Hindi and English, makes an assistant far more useful.
  • Small safety rules prevent big mistakes. "A question never writes data", "a clear yes before sending or calling" and "always stop before payment" turned out to be essential.

🚀 What's next for AURA

  • Payments you approve in your own UPI app, with spending limits you set.
  • Running the AI on infrastructure the user controls, for full privacy.
  • Direct-search support for more stores (Zepto, Swiggy Instamart), smarter reminders, and Hindi replies for every feature.

Built With

Share this project:

Updates

Submission history