Tartendu Kumar AI Systems Engineer
00Index 01Work 02About 03Log 04Press 05Contact 06Résumé

Index / Work / AOLOA Saarthi — Smart Glasses for Blind Users

Wearables Assistive Technology Mobile

AOLOA Saarthi — Smart Glasses for Blind Users

Protocol reverse engineering, Android app, cloud backend

Bluetooth smart glasses that let blind and low-vision users ask what is in front of them and get a spoken answer. The hardware shipped with no SDK, so the control protocol was reverse-engineered from Bluetooth traffic captures and rebuilt from scratch.

KotlinJetpack ComposeBluetooth LEFastAPICloud Run
No capture
01 Specification
Client
AOLOA
Industry
Assistive Technology
Role
Protocol reverse engineering, Android app, cloud backend
Platform
Mobile
Stack
Kotlin · Jetpack Compose · Bluetooth LE · FastAPI · Cloud Run
Dated
2026-08-27
02 Key features
  • Bluetooth control protocol reverse-engineered from traffic captures — no vendor SDK
  • Frame codec with checksum validation, written dependency-free and unit-tested
  • Offline on-device wake-word detection
  • Visual question answering — capture a photo, hear the answer
  • Streaming speech synthesis: first audio under 1.5s, down from roughly 8s
  • Fuzzy name matching for spoken 'call <name>' commands
  • Wi-Fi Direct media transfer with gallery publishing
  • Two product lines from one codebase, config-only divergence
04 Problem → solution → outcome

① Challenge

The vendor supplied hardware and no software. There was no SDK, the published spec sheet did not match the device, and the wake word was locked in firmware. Every capability had to be established by capture and measurement before a single line of product code could be written — and the users this is built for cannot fall back on a screen when something goes wrong.

② Solution

Bluetooth traffic was captured and decoded down to the frame format and checksum, then rebuilt as a pure-Kotlin protocol layer with no Android dependencies so it could be unit-tested in isolation. Two measurements changed the product: the glasses' microphone window is a fixed few seconds that cannot be held open, so follow-up listening moved to the phone's mic; and one-shot speech synthesis took around eight seconds to first audio, so it was replaced with a streaming model that answers in under 1.5 seconds. For a product whose entire interface is spoken, that gap is the difference between usable and unusable.

③ Result

Working end to end — wake word, question, spoken answer, plus photo capture with visual question answering. Two product lines ship from one codebase, diverging by configuration rather than a source fork, so protocol fixes reach both. 66 Kotlin source files, roughly 16,000 lines, with the protocol, audio, vision and contact-matching layers under test.

Need something
like this built?