Case study

Visor: an independent Ray-Ban Meta glasses client

Implements an Android replacement for the Meta AI companion app that speaks the Ray-Ban Meta glasses’ own Bluetooth and Wi-Fi Direct protocol, imports media, exposes settings and answers “Hey Meta” with a model the user chooses. The project wiki documents the link layers, encryption, services and Meta-side ownership steps, and lists 153 open questions. Testing is on real glasses rather than test suites, so behavior beyond the stated model and firmware remains unverified.

Requirements and limitations

  • Reviewed just after release v1.3.1 (2026-10-18). README targets Ray-Ban Meta (Gen 2) tested on firmware 72387580077200100; other Meta glasses are untested. It needs an Android 10+ phone, a Meta account using password or email-code login (passkeys do not work) and, for the assistant, an Anthropic or OpenAI-compatible API key. The glasses accept one session at a time, so Visor and the Meta AI app displace each other.
  • Setup makes Visor the glasses’ owner app through Meta’s login and ownership-receipt services, so it still depends on a Meta account and Meta servers for setup, frame style and language packs. Source builds need three client tokens from the official Meta AI app, which the repository does not include; without them the app builds but login and ownership fail. Release builds read them from CI secrets.
  • Building needs JDK 21 and the Android SDK with platform 37. CI builds a debug APK with Gradle, and tagged releases publish a signed APK with a SHA-256 file; README lists the release certificate fingerprint. Modules separate wire format and ciphers, transport, session, identity, media, settings and the assistant, which stands in for Meta’s server with Claude or an OpenAI-compatible model.
  • There are no test suites: CONTRIBUTING asks for hardware trials and wire.log excerpts for protocol changes, and CLAUDE.md says the app works on real glasses as of 2026-10-05. The wiki marks unconfirmed facts and lists open questions, including unread payloads and model-specific values; CLAUDE.md also refers to a desktop Python client snapshot that the repository does not contain. This collection read source and documentation without running the app or glasses.
  • Visor is AGPL-3.0 and states it is unaffiliated with Meta or EssilorLuxottica; Meta’s services, app tokens, firmware and trademarks keep their own terms. CONTRIBUTING forbids getting unsigned software past the glasses’ signature checks. Claude is one selectable assistant backend, the repository’s CLAUDE.md is a contributor guide, and the reviewed sources establish no REA use.

About this entry

Type
Case study
Category
Independent reconstruction cases
Relationship
Independent reconstruction project
Targets
App · Protocol

Sources reviewed

The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.

Primary sources

  1. README.md GitHub · macedonga/visor · Revision 8caaa12
  2. CLAUDE.md GitHub · macedonga/visor · Revision 8caaa12
  3. CONTRIBUTING.md GitHub · macedonga/visor · Revision 8caaa12
  4. SECURITY.md GitHub · macedonga/visor · Revision 8caaa12
  5. LICENSE GitHub · macedonga/visor · Revision 8caaa12
  6. app/build.gradle.kts GitHub · macedonga/visor · Revision 8caaa12
  7. .github/workflows/build.yml GitHub · macedonga/visor · Revision 8caaa12
  8. .github/workflows/release.yml GitHub · macedonga/visor · Revision 8caaa12
  9. core/protocol/src/main/kotlin/com/macedonga/visor/core/protocol/Framing.kt GitHub · macedonga/visor · Revision 8caaa12
  10. core/protocol/src/main/kotlin/com/macedonga/visor/core/protocol/Cipher.kt GitHub · macedonga/visor · Revision 8caaa12
  11. core/assistant/src/main/kotlin/com/macedonga/visor/core/assistant/Brain.kt GitHub · macedonga/visor · Revision 8caaa12
  12. https://github.com/macedonga/visor/wiki/Home/7358c5a1c39a6354d2170f89133b184f7f2b82e7
  13. https://github.com/macedonga/visor/wiki/Protocol-overview/7358c5a1c39a6354d2170f89133b184f7f2b82e7
  14. https://github.com/macedonga/visor/wiki/Meta-login-and-ownership/7358c5a1c39a6354d2170f89133b184f7f2b82e7
  15. https://github.com/macedonga/visor/wiki/Open-questions/7358c5a1c39a6354d2170f89133b184f7f2b82e7