Eyyo
Looks back when you look away.
Eyyo sits in your menu bar and uses your webcam to notice when you turn away from the screen, leave your desk, or pick up your phone — then pulls you back: a sound, a full-screen overlay, a spoken nag, and from the second escalation tier a live camera thumbnail of yourself. Five tones from “Chill” to “Military”, plus a Pomodoro timer, a local focus journal, and optional Focus-Lock that hides flagged distraction apps the moment they come forward. The camera is read locally only; no image is ever stored or transmitted, and the app's single network connection is the update check, which you can switch off. It handles multi-monitor desks: Eyyo learns the directions you actually work in instead of treating every head turn as a lapse. Explicitly a demo — detection is rough, it misjudges regularly, and it is not meant for anything where a wrong answer has consequences.
First, the important part: Eyyo is a demo
Not a product, not a roadmap promise, not a support contract. Eyyo is a showpiece — built to find out how far attention detection gets when it runs entirely on the device and phones nobody home.
Concretely: detection is rough and misjudges regularly. It speaks up when it shouldn't and stays quiet when it should. Features may change or vanish, and development may stop at any time. On first launch you have to confirm you understand that before the camera turns on at all — not a footnote, a checkbox you cannot walk past.
If you need a dependable tool, Eyyo is not it.
What happens when you look away
Eyyo lives in the menu bar. You press "Start watching", and from then on it reads a low-resolution camera frame about six times a second — locally, through Apple's Vision framework. It looks for three things: is a face there, roughly which way is the head pointing, and is something phone-shaped in frame?
Answer one of those wrong and it reacts, escalating as it goes: first a sound, then a full-screen overlay across every display, then a spoken nag — and from the second tier a small live camera thumbnail of you, down in the overlay. That is the most uncomfortable part, and it is meant to be.
Come back and it settles. Stay focused for twenty seconds and the escalation tier drops on its own.
Five tones
- Chill — gentle nudges, brief overlay.
- Annoying — sounds and pop-ups. The normal setting.
- Coworker — passive-aggressive remarks. "Per my last nudge…"
- Goblin — loud, fast, absurd.
- Military — inappropriately loud. You asked for this.
Every tone is free. No paid tier, no in-app purchases, no ads.
Understanding two monitors
The obvious approach — "head turned means distracted" — falls apart at any desk with a second screen. Forty degrees to the side looks exactly like turning away, and is in fact work.
Eyyo handles it by learning directions instead of holding one fixed neutral. If your head sits steady in a direction for a few seconds while you are typing or moving the mouse, that direction is accepted as a place you work — up to three at a time. Directions you stop using are forgotten again.
Tying it to real input is the whole trick. Staring off to the side without touching anything teaches it nothing. That is precisely what separates a second monitor from a phone in your lap.
Phone in frame
The phone is the precise signal head pose cannot give. Eyyo spots it with Apple's built-in image classifier — no bundled ML model, no third-party AI, no network. So that a single flicker doesn't start shouting, a detection has to hold for a second, and one dropped frame doesn't put the phone back down.
The rest of the toolbox
- Pomodoro — 25 minutes of focus, 5 of break. During the break Eyyo goes completely silent.
- Focus journal — daily counts: focused minutes, look-aways, phone grabs, app lapses. Local only, switchable off, erasable in one click.
- Distraction apps — flag apps; bring one forward and Eyyo reacts. With Focus-Lock it hides again in the same instant.
- Website flagging — optionally, Eyyo asks the active browser for the current tab's URL via macOS Automation, checks it locally against your block list, and discards it immediately.
- Gaze zones — experimental: calibrate against the corners of each screen and eye position starts counting too. Off by default, because it is shaky on a Mac webcam.
What happens to the camera frames
Nothing. Every frame is analysed in memory and discarded in the same moment. No file, no buffer, no upload. macOS keeps the green camera light on the whole time — on purpose, as your proof that nothing runs hidden.
The only network connection in the entire app is the update check: Eyyo asks balane.app whether a newer version exists and downloads it from GitHub if you accept. No accounts, no identifiers, no usage data. Switch it off in Settings and Eyyo talks to nobody at all.
What you may not use it for
On yourself, on a machine you control. Not to watch other people — if anyone can enter the camera's field of view, you need their consent. Not to monitor employees: performance and behaviour monitoring triggers co-determination and data-protection duties (in Germany §87 BetrVG, GDPR, §26 BDSG), and Eyyo ships with no controls for any of it. And nowhere a wrong answer has consequences — medical, safety-critical, at the wheel, at a machine, or with legal weight.
Technical
macOS 15 or newer, Apple Silicon and Intel. Swift and SwiftUI, Vision and AVFoundation for detection, Sparkle for updates. Signed with a Developer ID and notarised by Apple — no Mac App Store, no Gatekeeper detours. Around 3,500 lines of Swift; the decision logic runs on an injected clock, which is what makes it testable without a camera.
Frequently asked.
Are images of me stored or uploaded?
No. Every frame is analysed locally on your Mac and discarded in the same moment — nothing reaches your disk, nothing reaches the network. macOS keeps the green camera light on while it works, on purpose: that is your proof nothing is hidden. The only connection Eyyo makes is the update check against balane.app, and you can switch it off in Settings.
Does Eyyo nag on a two-monitor desk?
Once at the start, then no. Eyyo learns the directions you genuinely work in: if your head sits steady to one side for a few seconds while you type or move the mouse, that direction is learned and accepted from then on — up to three at a time. Staring off to the side without touching anything teaches it nothing, which is exactly the difference between a second screen and a phone in your lap.
Can I use Eyyo at work to monitor employees?
No. The licence permits use on yourself only. Monitoring staff behaviour or performance triggers co-determination and data-protection duties (in Germany §87 BetrVG, GDPR, §26 BDSG), and Eyyo ships with no controls for any of that. If other people can appear in the camera's field of view, you need their consent.
Why does it say “demo” everywhere?
Because it is one. Eyyo shows what on-device attention detection can do — it is not a finished product. Detection guesses from a low-resolution camera image and misjudges regularly, features may change or vanish, and development may stop at any time. It is given away free and “as is”; on first launch you have to confirm you understand that before the camera turns on at all.
Tech stack
- Swift
- SwiftUI
- Vision
- AVFoundation
- Sparkle
Platforms
- macOS
Tags
- Demo
- Focus
- Menu Bar
- Privacy
- On-Device

