Even Realities G2 · personal build · Android only
Your texts,
on your glasses.
Read and reply to SMS and RCS on Even Realities G2 — by voice, heads up, hands free, driven from the R1 ring on your finger. Android only. Everything runs on the phone in your pocket. No cloud service, no account, no API key, and it works in airplane mode.
Android 8+ and a pair of Even Realities G2. There is no iPhone version, and there cannot be one — iOS gives no app access to your messages. The glasses half comes from the Even Hub store and does nothing without this app.
576 × 288 · 16 shades of green · shown at actual size on a desktop display
The constraint is the brief
The glasses are a display and an input terminal over a 10–30 KB/s Bluetooth link. You never draw pixels — you create containers and update them through a bridge. Every design decision here was made against a limit rather than chosen from a menu, and the tightest limit is arithmetic: each control row costs about 40 of the 288 vertical pixels, so three buttons leave roughly four lines for the message.
- Canvas
- 576 × 288Per eye, origin top-left
- Colour
- 4-bit grey16 levels of green. No colour, ever
- Input
- Tap · swipePlus double-tap. No hold, no keyboard
- Audio
- 16 kHz inFour mics. No speaker, no audio out
- Lists
- 14 × 46Docs say 20 × 64; the device disagrees
- Link
- BLEA page render is a network round trip
Why there are two halves
The glasses cannot do this alone — no SIM, no messaging stack, no access to your messages. The surprising part is that the glasses app cannot either. An Even Hub app is not native code on the glasses; it is a web app running in a WebView inside the Even phone app. It is already on your phone, and it is still sandboxed browser JavaScript.
JavaScript in a WebView cannot read content://sms, cannot call
SmsManager to send, cannot register a
NotificationListenerService — the only way to see RCS at all — and cannot
reach the platform's SpeechRecognizer.
Each of those is a native Android API behind a runtime permission and a real app identity. So the bridge exists to be the thing that holds the permissions.
- 576 × 288, 16 greens
- Tap, swipe, double-tap
- Four microphones
- Builds the containers
- Captures dictation audio
- Holds no permissions
- SMS provider + SmsManager
- Notification listener for RCS
- On-device speech
Both halves live on the same phone, so localhost genuinely means localhost — the request never touches a network. That is what makes the privacy claim structural rather than a promise: the bridge binds loopback only, so the messages API is not merely protected from other devices on your Wi-Fi, it is unreachable from them. The bearer token is secondary, and could not be a secret anyway, since it ships inside an extractable package.
What it does
- SMS and RCS in one list. A messaging app is a single time-ordered conversation list; which network carried a message is the network's business. RCS is captured from notifications, because Android exposes no API for it.
- Voice replies, transcribed on the phone. Glasses mic to text using the platform's own recogniser. Nothing is recorded anywhere, and dictation works with no signal at all.
- Real RCS replies. Sent through the notification reply action — the mechanism Wear OS and Android Auto use, and the only silent, hands-free RCS path that exists. Falls back to SMS when no live notification remains.
- Top 6 | Quick Message. Six people behind one button. Tap a name and it starts listening immediately — no thread to open, no confirm to press.
- Nothing leaves the phone. The bridge binds loopback only, so the messages API is not reachable from your network at all. No analytics, no crash reporting, no tracking library of any kind.
What it took
Most of the expensive defects were not logic errors. They were platform behaviours that fail silently — the build succeeds, the app installs, the screen renders, and something is quietly wrong.
Try it
A test build, not a store release. You need an Android phone and a pair of Even Realities G2 glasses — the two apps below are both halves of the same thing, and neither is useful without the other.
ANDROID ONLY The glasses app talks to the Android app on your phone and does nothing without it. Installing it alongside an iPhone will not work.
G2 Bridge
The Android app that reads your messages and answers your glasses. Distributed through Firebase App Distribution, which is invite-only: ask for an invite and the link below is where the build lives.
Get the appAndroid 8 or newer, 64-bit. Your phone will warn you about installing an app from outside a store — that warning is about the distribution method, not this app; some phones go further and label it a "risky app". Google Messages stays your default messaging app throughout.
G2 Texting
The glasses app, from the Even Hub store. On first run it asks your phone for permission to connect — one tap on the phone and the two are paired for good.
Coming to the Even Hub storeRequires the Android app above — on its own it has nothing to talk to. No token, key or account to copy across: each install pairs with its own phone, and nothing about that handshake leaves the device.
Read the work
Everything below was written alongside the build, not reconstructed after it.
Development paper
A chronological engineering account: the ideas, the dead ends, the options rejected and why, and the reversals — including the ones where the first fix shipped and did nothing.
Building for the G2
The same material as a practitioner's guide, indexed by symptom — because on this stack almost nothing produces an error message. Written for whoever hits these next.
Changelog
Every release, each stating what broke and why rather than only what was added.