Inspiration
285 million people worldwide are blind or low-vision. They navigate a world built for sighted people — reading labels, avoiding obstacles, understanding surroundings — all without seeing. We asked: what if AI could be their eyes, in real-time, with just a phone camera and voice? That question became NurAI (نور — Light in Urdu) — an AI companion that gives light to those in darkness.
What it does
NurAI is a real-time multimodal live agent powered by Google Gemini. It takes any input and responds in any form — seamlessly:
Core Inputs:
- Live Microphone — speak naturally, ask anything, interrupt anytime (barge-in supported)
- Live Camera/Video — continuous video stream analyzed in real-time (scene understanding, hazard detection, text reading)
- Text Input — type questions when voice isn't an option
Core Outputs:
- Live Voice Response — instant, natural spoken answers with low latency
- Text Transcript — real-time conversation transcript on screen
- Proactive Alerts — warns about hazards (stairs, obstacles) without being asked
Live Agent Features:
- Seamless Live Video Q&A — point camera at anything, ask any question, get instant spoken answer
- Barge-in/Interruption — speak mid-response and the agent stops, listens, responds to your new question
- Multilingual — English and Urdu voice support
- Conversation Memory — remembers context across the session
- Natural Personality — calm, compassionate, concise responses
All powered by Gemini 2.0 Flash Live model with native audio + vision streaming through Google ADK.
How we built it
- LLM Brain: Google Gemini 2.0 Flash Live (
gemini-2.0-flash-live-001) via Google ADK — the only model with native real-time audio + vision streaming - Agent Framework: Google Agent Development Kit (ADK) with
LiveRequestQueuefor bidirectional streaming - Camera: OpenCV captures frames at 1fps → JPEG bytes sent to Gemini in real-time
- Audio:
sounddevicefor mic input (16kHz PCM) and speaker output (24kHz PCM from Gemini) - UI: Gradio web interface — start/stop button, live transcript, language toggle
- Backend: Python async pipeline — three concurrent coroutines (camera, mic, response playback)
- Deployment: Docker container on Google Cloud Run with public HTTPS URL
Challenges we ran into
- Handling real-time audio + video streaming simultaneously required careful async coordination with
asyncio.gather - Implementing barge-in/interruption — detecting when the user speaks during playback and immediately stopping TTS output
- Keeping latency low while sending camera frames — balanced at 1fps to avoid Gemini rate limits while staying responsive
- Cross-platform audio setup — switched from PyAudio to
sounddeviceto avoid C compiler dependency issues - Managing Cloud Run cold starts for a real-time demo — used
--min-instances=1to keep it warm
Accomplishments that we're proud of
- Built a fully working real-time voice + vision agent in 2 days
- True barge-in interruption — feels like talking to a real person
- Proactive hazard detection without being asked — the agent watches and warns
- Reads text in Urdu and English from camera — practical daily use for blind users
- Deployed to a public Cloud Run URL anyone can try
- Named نور (Light) — gives light to those who live without sight
What we learned
- Gemini 2.0 Flash Live API is uniquely powerful for real-time multimodal agents — no other model streams audio + vision natively
- Google ADK simplifies live agent development significantly with
LiveRequestQueueandRunConfig - Real-time AI requires thinking in streams, not request-response — every component must be async and non-blocking
- Accessibility-focused AI has massive untapped potential — 285M+ people need this today
What's next for NurAI
- Mobile app — native Android/iOS app with always-on camera and voice
- Navigation mode — GPS + camera fusion for outdoor walking directions
- Object memory — "remember where I put my keys" with spatial tracking
- More languages — Arabic, Hindi, Spanish, French
- Offline mode — on-device Gemini Nano for basic scene description without internet
- Wearable integration — smart glasses with bone conduction audio for hands-free use
Built With
- english
- geminillm
- githubcode
- google-cloud
- googlesdk
- urdu
Log in or sign up for Devpost to join the conversation.