Active · May 25, 2026
Meta Smart Glass — English Assistant
A real-time English assistant for Koreans on working-holiday visas, targeting Meta Ray-Ban Display. iPhone app + Bun backend + Gemini vision; building against a Mock Device Kit while Display SDK access is pending.
Bun + Swift · YOLO11 on-device · 3-provider key-gated fallback · early-stage
- Role
- Solo
- Stack
- Swift / iOS · Bun · Node.js · Gemini 2.5 Flash (vision) · BLE · Mock Device Kit
A wearable English assistant for Koreans on working-holiday visas. You point your glasses at a sign, a menu, or an object in front of you, and you get a labeling, a translation, or a phrasing suggestion in real time — discreetly, hands-free.
What it does (Phase 1, in progress)
- Scan & translate — point the camera at any printed text and get a translation overlaid on the glasses' display.
- Live camera scan — continuous object recognition; the model labels what you're looking at.
- Look (object labeling) — point-at-something workflow: tap to lock the frame, get the English label and a sample sentence.
- Suggest endpoint — context-aware "what should I say next" prompts when you're stuck in a conversation.
- iPhone bridge — glasses ↔ BLE ↔ iOS app ↔ HTTPS ↔ backend ↔ LLM; the phone is the brain, the glasses are the surface.
Architecture
[Meta Ray-Ban Display] <-BLE-> [iPhone app] <-HTTPS-> [Bun backend] -> [Gemini 2.5 Flash]A Mock Device Kit stands in for the real glasses during validation, so the iOS + backend path is fully exercisable without waiting on Meta Wearables SDK approval.
Why this exists
I moved from Korea to Toronto on a working-holiday visa and watched the same friction happen to other Koreans around me: the gap between reading English at home and using English in the moment — at a counter, on a bus, in a casual conversation — is a different muscle, and traditional apps don't help once your hands and eyes are on something else. Glasses do.
What's not in it
- No Display SDK access yet. Phase 1 is the validation prototype on the Mock Device Kit. Real-glasses integration is Phase 2.
- No on-device inference. The LLM call goes to Gemini over the network — that's a latency target to validate, not a hidden constraint.
- Privacy boundary not yet drawn. What audio/video leaves the device, what's retained, what's redacted — design decisions on the next page of the roadmap, not in v1.
Status
Phase 1 — Validation. Backend endpoints + iOS scaffold + four user flows working against the Mock Device Kit. Next: real-glasses prototype, latency budget, privacy model.
Project log
Chronological record of troubleshooting, retros, and updates while building this.
Week of May 25, 20268 entries · 1 Update · 7 Tech retro
Look: name the objects you see in English — running on a real iPhone
Tech retroMay 31, 2026 · 2 min
Pivoted from text translation to the actual differentiated feature — point at a scene, get each object's English name + Korean meaning. Built on Gemini vision, working end-to-end on a physical iPhone.
Phase 1 feature: /api/suggest end-to-end (GPT-4o-mini → Claude Haiku fallback)
Tech retroMay 30, 2026 · 2 min
The first real product feature — a backend English-coach suggestion endpoint with provider fallback, plus a SwiftUI client to drive it. Verified up to the API-key boundary.
Gemini as the (free) primary provider — first real end-to-end responses
Tech retroMay 30, 2026 · 2 min
Added a Gemini provider on the free tier so suggest/translate finally return real output. The catch was Gemini 2.5 Flash's default thinking eating the token budget.
Live camera source for Scan — and wrestling Swift 6 strict concurrency
Tech retroMay 30, 2026 · 2 min
Added a live AVFoundation camera as a second Scan source (alongside PhotosPicker), feeding the same OCR→translate pipeline. The interesting part was getting AVFoundation to compile under Swift 6 strict concurrency.
Scan & Translate: Vision OCR → /api/translate, and a Meta-glasses reality check
Tech retroMay 30, 2026 · 3 min
Second Phase 1 feature — on-device OCR of a menu/sign → Korean translation — plus what I learned about whether the Meta glasses can actually run this yet.
Phase 1 prototype scaffold: Bun /health backend + SwiftUI mock glass HUD
Tech retroMay 28, 2026 · 2 min
First real scaffold — a Bun backend exposing only /health, and a SwiftUI app that polls it and renders a mock glass HUD. LLM/STT/Vision and the Meta SDK are scaffolded as plans, not yet wired.
Repository initialized
UpdateMay 26, 2026 · 1 min
First commit — the repo starts as a bare README; the real Phase 1 scaffold lands two days later.
Stack & scope decisions: Swift-native, iOS-first, cloud-LLM-first
Tech retroMay 25, 2026 · 1 min
Locked the foundational stack and scope for the smart-glass English assistant — Swift-native iOS, cloud LLM before local, and a Mock Device Kit instead of buying hardware.