Features
Everything it does, and how it does it.
Eyeline is a native macOS menu-bar teleprompter. It floats a glass script panel under your webcam, stays out of every screen capture, and follows the words you actually say. Version 1.0, 2.4 MB, $19 once.
- macOS 14 or later
- Apple silicon and Intel
- No account, no subscription
- Zero network calls
Placement
Where does the script panel sit?
Directly beneath your webcam, tucked under the notch on a MacBook or under the lens on an external display, so the words and the camera are a couple of centimeters apart instead of half a screen apart.
The panel is non-activating. macOS never hands it keyboard focus, so clicking near it or scrolling it does not pull you out of Zoom, Keynote, or the chat box you were typing in. It is a heads-up display, not another window competing for your attention.
Walk through positioning it under your cameraGood morning everyone, thanks for joining.
Today I want to walk you through three things.
First, where the numbers landed this quarter.
Second, what changed and why it matters.
And third, what we are doing about it next.
Capture invisibility
Can anyone see Eyeline when you share your screen?
No. Eyeline marks its window with a sharing type of none, and the macOS window server is what removes it from the capture stream. The frames handed to Zoom, Google Meet, Microsoft Teams, QuickTime, or a screenshot are built without the panel in them, so there is no toggle to remember and no window to hide before you present.
What the room sees
- Your slides and browser windows
- Your camera feed
- Your cursor, your dock, your menu bar
- Everything you meant to share
What the room never sees
The Eyeline panel
Not in a screen share. Not in a screen recording. Not in a screenshot taken with Shift + Command + 5 or Shift + Command + 4. Enforced by the operating system rather than by the app being careful.
Voice sync
How does the script follow your voice?
Eyeline runs Apple's on-device speech recognizer, SFSpeechRecognizer, matches what you are saying against your script, and holds the line you are currently speaking in place under the lens. The text moves at the speed you talk, not at the speed a timer decided before the call.
That is what makes an unscripted tangent survivable. Pause to answer a question, go off script for thirty seconds, and the prompter waits on your line instead of scrolling away from it.
Recognition happens entirely on your Mac, so it works on a plane with the wifi off and nothing about your script is uploaded. The microphone permission is requested only when you switch voice sync on, and never before.
so the short version is we shipped it early,
and the numbers held up better than we modelled.
Which brings me to the part you actually asked about.
Retention. Two cohorts, one obvious answer.
I will take questions at the end, but interrupt me.
The amber line is where your voice is right now. It stays put until you move past it.
Pacing
What if you would rather scroll on a timer?
Set a words-per-minute rate and Eyeline scrolls at exactly that pace, with no microphone involved and no permission to grant. It is the right mode for a rehearsed script, a hard time limit, or a recording where you want every take to run the same length.
Timed scroll
Pick your words per minute and the script advances on a steady clock. Switch between timed and voice-synced scrolling per script, depending on whether you are presenting or having a conversation.
Hover to pause
Move the pointer over the panel and scrolling stops for as long as you stay there. It is the fastest way to buy back a few seconds mid-sentence without reaching for a keyboard shortcut on camera.
Controls
Do the hotkeys need Accessibility permission?
No. Eyeline registers its shortcuts through Carbon's RegisterEventHotKey, which the system dispatches without the Accessibility permission that most shortcut and automation tools require. Nothing to approve in System Settings, and no process watching your keystrokes.
Because the shortcuts are global, they fire while Zoom, Keynote, or your browser holds focus. You never have to click away from the call to control the prompter. Every shortcut is remappable in Settings if one of them collides with something you already use.
| Play and pauseOption + Command + P, the one default worth memorising | ⌥⌘P |
|---|---|
| Restart from the topFor a second take of the same script | Assign in Settings |
| Previous lineStep back a line without touching the mouse | Assign in Settings |
| Next lineSkip a line you decided not to say | Assign in Settings |
Day to day
Does it survive spaces, full-screen apps, and a second display?
Yes. The panel is configured to join every space and to sit above full-screen windows, so it stays visible when you full-screen your meeting app or swipe to another desktop, and it can live on whichever display your camera is mounted to.
Every space, every display
The panel joins all spaces and floats above full-screen apps, so full-screening Zoom or swiping to another desktop does not lose it. On a two-monitor desk, put it under whichever lens you are actually looking into.
Scripts as plain files
Each script is a JSON file in a local folder on your Mac. No library to import into, no account to create, no sync service holding the most sensitive paragraph of your week.
Launch at login
One toggle registers Eyeline with SMAppService so it is already in the menu bar when your first call starts. First run walks you through the setup once, then stays out of the way.
Privacy posture
What does Eyeline collect or send?
Nothing. The app ships with exactly two entitlements, the app sandbox and audio input, and no network entitlement at all. macOS will not open a connection for a sandboxed app that never asked for one, so there is no analytics, no telemetry, and no account to leak.
You do not have to take that on faith. Run one command against the app you downloaded and read the entitlements yourself.
The full privacy case, entitlement by entitlement$ codesign -d --entitlements - Eyeline.app
com.apple.security.app-sandbox true
com.apple.security.device.audio-input true
# nothing else. no network client,
# no files outside the sandbox.Specifications
What are the system requirements?
macOS 14 or later, on any Mac made in the last decade. The download is a 2.4 MB universal app that runs natively on Apple silicon and Intel, delivered as a DMG the moment you buy it.
| Version | 1.0 |
|---|---|
| Price | $19, paid once, no subscription |
| Operating system | macOS 14 or later |
| Architectures | Universal, Apple silicon and Intel |
| Download size | 2.4 MB |
| Delivery | DMG, linked right after purchase |
| Microphone permission | Only if you turn voice sync on |
| Accessibility permission | Never requested |
| Network access | None, the app has no network entitlement |
| Code signing | Ad-hoc signed, not yet notarized |
One honest caveat on that last row. Version 1.0 is ad-hoc signed and has not been through Apple's notarisation yet, so the very first launch needs a right-click then Open, or a trip to System Settings, Privacy and Security, Open Anyway. It is a ten-second detour, once, and thesetup walkthrough shows exactly what you will see. Pricing and refund terms are on thepricing page, and theFAQ covers the rest.
Stop reading past the lens.
One payment of $19. Yours for good, on every Mac you own. No account, no subscription, no network calls.
macOS 14 or later. 2.4 MB. Works on Apple silicon and Intel.