Skip to content
Mai Trinh
Completed

Smart Glasses

Android developer building both the application foundation (sign-in, initial architecture) and the Bluetooth/BLE and Wi-Fi device-communication layer for a smart glasses companion app — a short, early-stage engagement.

Role
Android Developer
Platform
Android
Period
2025
Client
Confidential client

Project overview

Domain
Wearable technology — a mobile companion app for an AI-powered smart glasses hardware device, combining conventional app features with direct Bluetooth/BLE and Wi-Fi communication with the glasses, and support for AI-assisted features like real-time translation and a voice assistant.
Product
This is the planned Android/iOS companion app for an AI-powered smart glasses hardware device, intended to handle device pairing and communication over Bluetooth/BLE and Wi-Fi, media/settings management, and AI-assisted features such as real-time translation and a voice assistant, working alongside a backend server and the glasses' own firmware.
Audience
Users of the smart glasses hardware, who would use the companion app to manage the device and access its AI-assisted features.
Why it exists
The smart glasses need a mobile companion app to pair with, configure, and extend the hardware with software-side AI features — this app is that companion, built as a joint effort between the hardware team and the software team.
Problem
In the stage I was part of, there were two problems to solve: establishing the app's foundation — a working sign-in/sign-up experience and the initial architecture other features would be built on — and getting the app to actually connect to and communicate with the physical glasses hardware over Bluetooth/BLE and Wi-Fi, for pairing, audio-data communication, and file transfer.

My role & contributions

My work here covered two areas. Application foundation: I built the sign-in and sign-up flow — email/password authentication, OTP verification, and password reset — plus Google Sign-In, and set up the app's initial MVVM architecture (domain/data/presentation layers, dependency-injection modules, reusable UI components, and navigation). Device communication: I also worked on connecting the app to the smart glasses over Bluetooth/BLE, including audio-data communication between the app and the glasses, and on Wi-Fi communication with the glasses for downloading and transferring files from the glasses to the app. This was a short, early-stage engagement, and I did not build the entire product: the authentication work specifically lived on feature branches that had not yet been merged into the app's main line by the time my involvement ended, so all of this should be read as foundational and device-communication work on one part of a larger planned product. The product's AI-assisted features, such as real-time translation and a voice assistant, were part of that broader plan rather than something I personally implemented.

Challenges & solutions

  1. Technical challenges

    Two kinds of challenge were involved. The first was setting up a full authentication flow (sign-in, sign-up, OTP verification, password reset, Google Sign-In) end to end for a brand-new app, alongside the layered architecture and dependency-injection setup the rest of the app would build on. The second, and more distinctive, challenge was that the app was not simply a conventional API-driven mobile app: it also had to communicate with a physical smart-glasses device over two different wireless transports for two different kinds of data — Bluetooth/BLE for the connection to the glasses and for audio-data communication, and Wi-Fi for transferring and downloading files from the glasses.

    How I approached it

    The authentication flow was built against a domain/data/presentation split from the start, with Koin modules for networking and dispatchers set up alongside it, so later features could plug into the same architecture rather than each screen wiring its own dependencies. For the glasses themselves, the app connected to and communicated with them over Bluetooth/BLE for the device connection and audio-data exchange, and used Wi-Fi separately for the higher-throughput job of transferring and downloading files from the glasses — keeping the connection/audio path and the file-transfer path on the wireless transport each was suited to, rather than routing everything through one connection.

Architecture & technologies

The companion app is a Kotlin Android app built with Jetpack Compose, structured with MVVM and a domain/data/presentation split, using Koin for dependency injection and Retrofit/OkHttp with kotlinx.serialization for networking against the backend server. Alongside that conventional app-to-server networking, the app used Android's Bluetooth/BLE APIs to connect to and communicate with the glasses — including audio-data communication — and Wi-Fi to communicate with the glasses for file transfer and download. Implementation details of that device-communication layer beyond this are not documented here.

Technologies

  • Kotlin
  • Jetpack Compose
  • Koin
  • Retrofit
  • OkHttp
  • Google Sign-In
  • Bluetooth
  • Bluetooth Low Energy (BLE)
  • Wi-Fi

This project demonstrates

This reflects two things together: the ability to bootstrap a new app's authentication flow and its initial architecture from nothing, and the ability to build the parts of a mobile app that go beyond a conventional server-only design — connecting to and communicating with a physical hardware device over Bluetooth/BLE and Wi-Fi for different kinds of data. Both are honestly scoped as foundational, early-stage work on one part of a larger planned product, not a released consumer feature.

  • Android Development
  • Authentication
  • Third-Party Integration

Have a similar project in mind?

Tell me about your product or challenge, and we can discuss how I can help.

Work With Me