macOS Teleprompter for MacBook Notch: building a native Swift app
How I built a native macOS teleprompter that uses the MacBook notch to keep speaker notes close to the camera without breaking eye contact on calls.
GTM Architect & Growth Operator · Now · 10 April 2026
TL;DR · Key insights
- Native macOS app built with Codex + Xcode: no prior Swift experience required
- Core idea: notes float around the camera notch so eye contact stays natural on calls
- Codex handled Swift syntax; I handled product decisions, UX, and iteration loops
- Shipping a native app with AI assistance is now a realistic solo weekend project
Eye contact on video calls is a solved problem in theory and a broken one in practice. Your notes are on a second screen, in Notion, or: worse: in your head. The moment you glance left, the call reads it.
I wanted a utility that sits exactly where the camera is. On a MacBook Pro, that means the notch area at the top of the display. Text there is visually tied to the camera, which means reading while maintaining natural eye contact becomes possible for the first time.
Why build instead of buy
I looked at existing teleprompter apps. Most are designed for video recording: they scroll a large script at a fixed speed. That’s not what I needed. I needed:
- A small, persistent window near the notch
- Bullet points I can step through manually
- No full-screen takeover
- Something that launches and disappears without ceremony
Nothing on the App Store matched that. So I built it.
The Codex workflow
I came into this with minimal Swift and no recent AppKit experience. Codex changed what was feasible.
The workflow was:
- Describe the UI
Plain language description of what I wanted: window position, behavior, keyboard shortcuts.
- Codex generates
Swift/AppKit scaffolding, boilerplate, window chrome, NSPanel configuration.
- Review and test
Run in simulator, check behavior against the mental model, adjust the description.
- Repeat
Iterate until the behavior matches. Usually 3-5 rounds per feature.
Codex handles boilerplate well: window chrome, keyboard shortcuts, menu bar icons, NSPanel configuration. It also handles the conceptual gaps: I’d describe behavior (“I want this window to stay on top, not appear in Mission Control, not take focus”) and get back the correct NSPanel configuration flags.
What Codex doesn’t handle is taste. The initial window size was wrong, the padding felt tight, the font choices were off. Every UX decision was mine. Codex executes; I decide.
Technical shape
NotchCue is a standard macOS utility with a few intentional constraints:
The notch detection piece was the most interesting challenge. Codex got me 80% there; the remaining 20% (multi-display support, detecting the exact notch height per MacBook model) required digging through Apple documentation myself.
What this proves
The ceiling for solo, AI-assisted native app development is higher than most people think. NotchCue went from idea to working build in a weekend. A year ago that would have required either prior Swift knowledge or a contractor.
The pattern: describe intent, review output, adjust taste, ship: is reproducible. I’ve used it for three other small macOS utilities since.
Related: How to Build Micro-SaaS with AI Tools: product lessons from 10+ shipped apps · How to Build a Booking Engine: product architecture decisions for vertical markets
