macOS · invisible on screen share

Silence kills offers.

You blank. They smile. "We went another direction." Copilot answers for you in under a second. Invisible.

Free plan·macOS 12+·v1.8.2
Meeting Copilot · 28-second walkthrough
Meeting Copilot 28-second walkthrough 28 sec

Three pauses. One rejection.

Pause #1
−$0/yr
Offer drops one band.
Pause #2
−$0/yr
Downleveled. Junior pay.
Pause #3
Rejected
"Other candidates." Email Friday.
Copilot answers in under a second. Invisible.
Quietly used in interviews at
The killer feature

They never see it.

macOS setContentProtection tells the OS this window is private. Zoom, Meet, Teams, Discord capture your desktop — never the copilot.

CoderPad · React — Why doesn't this counter increment? (15 min)
Counter.jsx tests/Counter.test.jsx
BUG · Counter stops at 1

The counter renders 0, ticks once to 1, then freezes. Find the bug. Fix it.

// Counter.jsx — increments once, then stops. Why?
function Counter() {
  const [count, setCount] = useState(0);

  useEffect(() => {
    const id = setInterval(() => {
      setCount(count + 1);    // ❌ stale closure
    }, 1000);
    return () => clearInterval(id);
  }, []);                       // ❌ empty deps freeze count

  return <span>{count}</span>;
}|
Zoom · you're sharing REC
S
Sarah
Y
You
CoderPad · React — Why doesn't this counter increment? (15 min)
Counter.jsx tests/Counter.test.jsx
BUG · Counter stops at 1

The counter renders 0, ticks once to 1, then freezes. Find the bug. Fix it.

// Counter.jsx — increments once, then stops. Why?
function Counter() {
  const [count, setCount] = useState(0);

  useEffect(() => {
    const id = setInterval(() => {
      setCount(count + 1);    // ❌ stale closure
    }, 1000);
    return () => clearInterval(id);
  }, []);                       // ❌ empty deps freeze count

  return <span>{count}</span>;
}|
Zoom · you're sharing REC
S
Sarah
Y
You
PRIME Interview Pass Ready
Suggestion · Stale closure ⧉ Copy
Use the functional updatersetCount(c => c + 1). Empty deps lock count at 0.

The interval captures count from the first render (0) and reuses it forever. React's setter accepts a function that always sees the latest value — no need to re-run the effect.

useEffect(() => { const id = setInterval(() => { setCount((c) => c + 1); // ✓ always latest }, 1000); return () => clearInterval(id); }, []);
Live transcript · 0:42
Sarah: Why doesn't this counter increment past one?
Ask follow-up…
⌘Rrefresh ⌘Bscreenshot ←/→ history
← They see Zoom + code · no HUD
You see → + Copilot HUD
↑ Drag the blue handle to compare. The HUD lives only on your side — Zoom never captures it.
They see
Just Zoom + your screen
Whatever you share. Recordings, screen-share, captures.
You see
+ Copilot HUD on top
Floating window with the answer. Invisible to Zoom, Meet, Teams, Discord.

Install on Mac to see the real thing.

What it does

A colleague who takes notes.

Not a chatbot HUD. Not a popup. A quiet panel that reads the room and writes one good answer at a time.

Listens to the whole call, not just your mic.

Hears the interviewer, the panel, the recruiter — through macOS audio loopback. Transcribes via Deepgram with sub-400 ms latency.

Invisible on screen share.

setContentProtection hides the window from every capture API. Zoom, Meet, Teams, Loom — none see it.

Writes like you.

Pulls from your CV and notes. Suggestions sound like you on a good day.

One answer at a time.

Never a stream of bullets to scan-and-panic through. One framed claim, then the reasoning beneath it.

You stay in the call. It stays out of the way.

No notifications. No sounds. No popups. Default position is the corner of your screen, dimmed to 70%, until you glance.

Quiet by design
"It sits in the corner like an editor — not a teleprompter. You forget it's there until you need it."
Anya Petrova · Staff engineer, after 14 interviews
How it works

Three steps. No setup wizard.

01

Install the app

macOS 12+. Free, no signup needed to try.

02

Open it before your call

Drag it to a corner. Toggle stealth. It will stay where you put it.

03

Glance when you blank

A suggestion is always ready. Copy it, paraphrase it, or ignore it.

Plans

Try free. Upgrade if it earns it.

Free
$0/ mo

For trying it on a low-stakes call before the high-stakes one.

  • 15 minutes of listening / mo
  • Unlimited screenshot analysis
  • Invisible on screen share
  • Session recap
Download free
Prime
$25/ mo

For senior IC and exec interviews, where context matters more than speed.

  • Everything in Pro
  • Unlimited suggestions
  • Your CV as context
  • Interviewer mode
  • Custom presets
Cancel anytime. We don't store your meeting audio. Transcripts stay on your machine.
Questions

Common things people ask.

No. macOS setContentProtection marks the window as private at the OS level. Every screen-capture API — Zoom, Meet, Teams, Discord, Loom — skips it. You see it. They don't.
Through macOS audio loopback — it taps system output, not your microphone. Anyone speaking in the call (you, the interviewer, multiple panelists) gets transcribed.
It depends what you're doing. We don't judge — but we also won't help on a take-home assessment you're supposed to do alone. The app's intended use is conversational interviews and meetings where having well-framed notes ready is normal and expected.
No. Audio is streamed to Deepgram for transcription and the transcript is sent to Claude for one suggestion. Nothing about your meetings is retained on our servers.
Screen-share invisibility on Windows is a much harder OS-level problem. We'll get to it. macOS first because it's the surface we can ship invisibly today.
Ready when you are

Your next interview is in a week.

Install it tonight, learn the keys tomorrow, forget it's there by Thursday.

Get Pro
$15/mo
Billed to