Trained Eye · system walkthrough
How Trained Eye works
You look at something for ten seconds and say what to watch for. Meta's models turn that into a few hundred labelled training images, a small open model is fine-tuned on them, and from then on your glasses speak up when it happens. This page follows one request through every device and model.
"Tell me if I leave the burner on."
The skill this becomes is burner_left_on. It waits until the burner has been
on for 10 seconds before it alerts, so lighting it to cook never triggers it.
The map
Five places do the work
Your glasses only see, hear and speak. Your iPhone carries frames to your Mac, and your Mac runs the whole project: it calls Meta's models while teaching, sends training to a rented GPU on Modal, and decides when to alert while watching.
Step 1 · Teach
Ten seconds of looking becomes a training set
Two things come in: your words and your view. The words become a precise skill spec, and the view becomes a few hundred training images. Every call goes through one client on your Mac that caches answers and keeps a spend ledger, so a rerun never pays twice.
Step 2 · Train
A small open model learns the one question
The model that ends up watching is Muse Glimmer 30B, an open-weight Meta model, fine-tuned with Meta's own QLoRA recipe on one H100 GPU rented from Modal. Only adapter weights train; the vision tower stays frozen. A two-step smoke run comes first, and its timing prices the real run before you agree to it.
Step 3 · Watch
One alert, second by second
While you wear the glasses, every frame of the burner gets a probability from the student. Your Mac only speaks when three of the last four frames agree, the burner has stayed on through its 10 second hold, and Muse Spark confirms the frame.
Sample flow
One evening with the burner skill
Amaan opens Trained Eye on the iPhone, connects to the Mac and the glasses.
iPhone + glasses: the app registers with the Meta AI app through Meta's Wearables SDK; the Mac runs
te serveand the app checks it over Wi-Fi.On the Teach screen, he holds to talk: "Tell me if I leave the burner on," then looks at the stove for ten seconds as it goes from off to lit.
Glasses mic and camera, iPhone: the request is recorded over Bluetooth; the capture goes to the Mac at three frames a second, with the audio.
The phone shows the price of teaching it; he taps yes.
Mac: nothing is paid before that yes. Anything over $15 always asks again.
The phone reads back "I'll watch the front burner of the stove and tell you when the burner is lit with no pan on it. I'll say: The burner is still on." He confirms.
Meta Model API: Voice Transcribe, then Muse Wonder writes the spec; the local policy check ran first, for free.
The Mac builds the training set while he records a few minutes of normal cooking for testing.
Meta Model API: SAM 3.1, Muse Image and Muse Spark. Mac: keyframes, crops and the dataset in
data/skills/burner_left_on/.He starts training and goes back to his evening.
Modal:
te trainfine-tunes Muse Glimmer 30B on one H100, thente serve-studentputs it online. Mac:te calibratesets the threshold from his session 2 clips.Days later he lights the burner for tea and walks off to answer the door.
Glasses to iPhone to Mac: frames stream in; the student scores each one on Modal; the trigger waits out the 10 second hold.
He hears "The burner is still on." in his glasses.
Meta Model API: Muse Spark confirmed the last frame. iPhone: speaks it through the glasses' speakers over Bluetooth. The cooldown keeps it from repeating every second.
Who runs what
Every model and device in one table
| Job | Runs on | Model or tech |
|---|---|---|
| See, hear and speak | Meta glasses | Meta Wearables DAT SDK 1.0.1; camera stream in HEVC; audio over Bluetooth |
| Carry frames, teach, speak alerts | iPhone | Trained Eye app: SwiftUI, VideoToolbox decoding, a WebSocket to the Mac, speech synthesis |
| Backend, teach flow, watcher, trigger | Your Mac | Python 3.12 te command; Starlette server on port 8765; cache and spend ledger |
| Speech to text | Meta Model API | muse-voice-transcribe-1.0 |
| Write the skill spec | Meta Model API | muse-wonder-1.0, structured output |
| Find the burner in each keyframe | Meta Model API | sam-3.1 |
| Generate training variations | Meta Model API | muse-image-1.0 edits of your keyframes |
| Label images, confirm alerts | Meta Model API | muse-spark-1.3 |
| Fine-tune the student | Modal, 1 × H100 | meta-models/Muse-Glimmer-30B with Axolotl QLoRA (Meta's recipe) |
| Score frames while watching | Modal, H100 | Your fine-tuned Glimmer on vLLM; the answer token's probability |
| Training logs, base weights, release | W&B, Hugging Face | Private W&B project; uploads only after you decide to publish |
Step 4 · Prove it
Evaluation and the guard rails
How it is measured
te replay runs your labelled test clips through watch mode, and make eval
scores them: frame accuracy, events caught on time (within the skill's window after its hold), false alarms
per hour and dollars per hour. Experiment 1 compares real, synthetic and mixed training; Experiment 4 compares
the fine-tuned student with base Glimmer and with Spark on every frame.
Privacy
Watch mode never stores frames, only times and scores. The glasses' capture light is never hidden. Generated images are never published, and faces are blurred in anything that is.
What it will not learn
No skills about specific people, bodies or health, covert watching, politics or war. The policy check refuses those on your Mac before any paid call. And the burner skill is a reminder, never a smoke alarm.