Independent
·
2026
CuePilot
(working title)
A Mac conversation aid that keeps your own preparation, questions and stories within glanceable reach while you speak.


Role
Product design & development
Timeline
2026
Team
Solo, with AI-assisted development
Platform
Product / macOS / AI
Overview
A calmer way to keep your place
In an interview or meeting, the hard part is often recalling the right example or question while listening closely to someone else. CuePilot keeps the material you prepared in a small, floating Mac panel: a run of show, short cues and one point you choose to hold in focus. It is designed to support your side of the conversation, not supply an answer for you. I defined the product, designed its interaction and visual system, and built the native app, using AI coding tools for much of the implementation while making all product and design decisions myself. It's built for meetings, pitches, reviews, interviews and any conversation where you've prepared material you need to reach while speaking. The core experience works manually; optional preparation and listening features sit around it.
Approved pack
Only cues the user has reviewed can appear during a live session
Held focus
The point you've chosen stays put; nothing surfaced can move it
Manual first
The live aid works without audio, an account or an AI service
Challenge
Preparation is hardest to retrieve when you need it most
A conversation can move too fast to search through your notes, and a live transcript or stream of generated answers can become another thing to read. I wanted a quieter aid: enough structure to keep my place, enough flexibility to respond naturally, and clear control over anything that might appear in front of me. The product had to earn its place in the few seconds available for a glance.
How could a speaker bring prepared material to hand mid-conversation, keeping their place, their own words and control of the exchange, without the aid itself becoming the distraction?
Approach
From a broad assistant idea to a quiet live companion
Choosing the smallest useful job
I began with a product requirements document and a review of interview and meeting tools. The initial space included transcription, live answers, research, rehearsal, scoring and team workflows. I narrowed the first test to three moments: prepare what matters, keep it accessible while speaking, then review what was useful. Interviews and meetings gave that broad idea a concrete setting.
I made manual retrieval useful before depending on speech, kept every cue in the person’s own prepared words, and took live answer generation out of scope. Those choices let me test whether the aid was valuable in a real conversation without asking an AI feature to carry the whole experience.
Preparing material the speaker recognises
A session brings together a running order, questions, experience stories and short cues. The preparation workspace can organise notes and imported sources into proposed items, but proposed material stays out of the live pack until the person reviews it. That approval step is a product boundary, not just a settings choice: the live view should contain thoughts the speaker is ready to use.
One early implementation exposed a mismatch with that promise. It validated an exact source quotation, then displayed a model-written paraphrase as the cue. I changed how the assistant works underneath: it can organise material and place it in the right section, but the cue itself is always the person’s own words, taken verbatim from their source. The model never writes the line the speaker reads, and approval stays explicit. I also removed hard length caps from the core cue surfaces. Concise prompts are easier to scan, but the interface must never silently discard part of someone’s thought; longer material wraps or scrolls.

A sentence sent to the assistant lands as Suggested in exact wording, waiting for approval.

Only reviewed cues reach the live panel, and every cue is in the speaker’s own words.
Replacing two lists with one Run Order
The first layout kept the agenda and the cue cards in separate lists. When I was leading a conversation, that had me switching between where I was and what I wanted to say next. I brought them into a sectioned Run Order: each stage holds its own prompts, with an “Any time” area for material that does not belong to one section. Longer stories remain in a library and can be broken into draft cues for a particular session.
Covered points dim but remain visible, so progress does not erase context. Moving between sections and changing Current Focus are deliberate actions. The structure gives the conversation a shape without turning it into a script.

The Run Order at full width: sections scan by number, cues sit beneath.
Designing a live view for a glance
When a session starts, the preparation workspace gives way to a floating panel. The Run Order shows where the conversation is headed; a single Current Focus shows the point the speaker has chosen to hold onto. Questions, quick thought capture and search remain available without competing with that line. The panel can collapse to a cue pill that still shows the current thought and its place in the run.

Left Live panel: covered cues dim, Current Focus pinned, next point visible. Right Collapsed to a pill that still shows the current thought and its place in the run.
I refined the live hierarchy against the conditions in which it would be read. Cue text has four sizes, and the panel adapts so larger type retains useful look-ahead. Reviewing it against a light desktop led me to strengthen the live material and darken the light-mode accent. Progress stays visible, keyboard actions are available through a command palette, and the interface respects Reduce Motion and Reduce Transparency. These details serve the same goal: make one glance enough to regain your place.

The workspace in light and dark.
Letting listening suggest, never steer
The manual experience stands on its own. With listening enabled, CuePilot listens on the device, to both sides of the conversation or just the speaker, and surfaces their own cues as they become relevant: mention design systems, and the cues prepared about design systems come forward. It never writes anything new; every cue it surfaces is one the person wrote and approved. The person can inspect, ignore or pin it. A deterministic matcher and stability rules limit suggestion churn, while the Current Focus remains under direct user control. Transcripts are not retained.
This separates a helpful prompt from an automatic change of course. Listening can help retrieve something already prepared; it does not write an answer or decide what the speaker should say next.
What a real interview changed
I used CuePilot’s manual live view in a product design interview and informed the interviewers I was using it as my presentation aid. Several times, the cues helped me keep my place, recall a point I had prepared and avoid drifting off track. The panel gave me the right amount of context without asking for more attention.
I had prepared that pack through an open conversation with an LLM outside the app before narrowing it into cues. The in-app assistant is currently better at capturing material that is already well articulated. My next design work is a clearer route from open discussion to selecting and refining cues, then explicit approval for live use. The interview showed both what the manual aid already does well and where preparation goes next.
Build
Native macOS, on-device speech, and an embedded runtime instead of API keys
CuePilot is a native SwiftUI Mac app. SwiftData keeps sessions and runs locally; a narrow AppKit bridge provides the floating live panel. Manual use needs no account, network connection or audio permission. Optional listening processes speech on the device through Apple's SpeechAnalyzer and SpeechTranscriber, with AVAudioEngine and ScreenCaptureKit supplying audio. A deterministic matcher searches only the approved pack and applies stability rules before showing suggestions. Preparation assistance uses the Codex App Server SDK with an embedded runtime, with Apple Foundation Models as a local provider path; neither generates live answers.
SwiftUI
AppKit
SwiftData
SpeechAnalyzer
ScreenCaptureKit
AVFoundation
Codex App Server
Foundation Models
01
Only approved material goes live
Notes and source material become proposals first. The speaker reviews each cue before it joins the live pack.
02
Focus stays with the speaker
Listening may suggest a relevant cue, but it cannot move the point the speaker has pinned.
03
Words remain intact
Visible cues preserve reviewed wording, and longer thoughts wrap or scroll rather than being silently cut off.
Outcome
A live aid tested in a real conversation
CuePilot is in development on TestFlight, with its core loop in place: preparation and approval, a sectioned Run Order, a glanceable live panel, optional on-device listening, rehearsal and review. Its first real use, in a product design interview, confirmed that the manual live aid does what it was designed to do. The next stage of design work is preparation: a more open route from discussion to selecting, refining and approving the cues that go live.
A sectioned Run Order
Agenda and cues brought together so a speaker can see the current section and what comes next.
A glanceable live view
One chosen focus, nearby context and a compact cue pill that keeps the thread visible.
A clear approval boundary
Suggested material remains outside the live pack until reviewed; surfaced cues never take over focus.
Proven in real use
Manual cues kept me on track in a real product design interview, and shaped the next stage of preparation design.
Status
In development · TestFlight
In development · TestFlight
Reflection
The speaker has to keep the lead
The strongest version of CuePilot is deliberately quiet. A cue is useful only if it surfaces without displacing the thought someone is holding onto, and only if it's in their own words: nothing the speaker reads is written by AI. That principle shaped the Run Order, approval boundary, stable Current Focus and even how long text behaves. The technology can help surface material; the speaker decides what to say and when.


