Your AI copilot for live interviews.
Real-time transcription, question detection, and grounded answer cues — in a
floating, screen-share-invisible panel.
Local-first. Bring your own OpenAI key.
The Cue Card — live transcript, streamed answer, and on-the-fly controls; invisible to screen sharing.
⚠️ Use only where AI assistance is permitted. Your data stays on your machine; only the retrieved context + the current question is sent to OpenAI.
- 🎙️ Live transcription & question detection — hears the interviewer (system audio) and flags the question being asked, in real time.
- 💡 Grounded answer cues — suggestions are drawn from your resume, the job description, and your notes via on-device retrieval (local RAG), not generic filler.
- 🪟 Floating Cue Card — an always-on-top panel that's excluded from screen sharing & recording, so it's there for you and invisible to everyone else.
- 🧪 Mock interview mode — an AI interviewer asks questions aloud and the copilot answers them in the Cue Card: a full rehearsal of the live experience.
- ⌨️ Global hotkeys — toggle the Cue Card, solve a copied problem, or drag-select a region of the screen to read and answer.
- 🔒 Local-first & private — data lives on your machine in a local database; your OpenAI key is encrypted by the OS keychain and never leaves the main process.
Grab the latest installer from the Releases page:
- Windows —
.exe(NSIS installer) - macOS —
.dmg - Linux —
.AppImage
Builds are currently unsigned, so the OS may warn on first launch — Windows SmartScreen ("More info → Run anyway"), macOS Gatekeeper (right-click → Open).
BrainCue Copilot is a local desktop app that streams live audio to OpenAI for transcription and answers, so a steady internet connection and a microphone matter more than raw compute.
| Minimum | Recommended | |
|---|---|---|
| OS | Windows 10 64-bit (version 2004 / build 19041+), macOS 11, or a modern 64-bit Linux | Windows 11, macOS 13+ |
| CPU | Dual-core x64 / Apple Silicon | Quad-core or better |
| RAM | 4 GB | 8 GB+ |
| Disk | ~600 MB (app) + room for local data | 2 GB+ free (profiles, vectors, transcripts) |
| GPU | Any (integrated is fine) | Discrete or modern integrated |
| Display | 1280 × 800 | 1920 × 1080 or larger |
| Audio | Microphone | Mic + system-audio loopback (to hear the interviewer) |
| Network | Broadband internet | Low-latency broadband (for real-time transcription) |
You also need your own OpenAI API key (set in Settings) and an OpenAI account with access to the models in use (Realtime/STT, Responses, embeddings, TTS, Vision).
Notes
- Privacy Mode (hiding the app from screen sharing/recording) is most reliable on Windows 10 version 2004+ and Windows 11; on older builds the window may show as black to viewers instead of being cleanly excluded.
- System-audio capture (the interviewer's voice in online calls) uses Windows loopback automatically. On macOS, capturing system audio needs a virtual audio device (e.g. BlackHole); the microphone path works without one.
- Hybrid-GPU laptops (e.g. NVIDIA Optimus): if a window shows up blank/black,
launch with
--disable-gpu(or setAI_DISABLE_GPU=1) to fall back to software rendering.
Electron · React · TypeScript · Vite (electron-vite) · TailwindCSS · Zustand · SQLite (better-sqlite3) · Drizzle ORM · OpenAI Node SDK (Responses, embeddings, STT/Realtime, TTS, Vision) · electron-builder.
See docs/:
- PRD
- Architecture
- Windows (main/renderer/overlay)
- Database schema
- IPC map
- OpenAI service layer
- API key security
- Folder structure
- MVP plan
npm install
cp .env.example .env # optional: put OPENAI_API_KEY for dev
npm run db:generate # generate the initial Drizzle migration
npm run dev # launch the app with HMRIn production you set the key in Settings (encrypted via OS secure storage).
| Script | Purpose |
|---|---|
npm run dev |
electron-vite dev (HMR) |
npm run typecheck |
type-check main + renderer |
npm run db:generate |
generate SQL migrations from the Drizzle schema |
npm run build |
typecheck + bundle |
npm run icon |
regenerate app icons from resources/icon.svg |
npm run package / package:win / package:mac |
build installer via electron-builder (auto-cleans release/ + kills running app first) |
Installers are built and published by GitHub Actions
(.github/workflows/release.yml) — Windows,
macOS, and Linux in parallel.
- Bump
versioninpackage.json(and add achangelog/entry). - Commit, then tag it to match:
git tag v0.5.0 && git push origin v0.5.0(the tag must equalv+ thepackage.jsonversion). - The workflow builds each platform and uploads to a draft GitHub Release
named
v0.5.0. Review it in the Releases tab and click Publish.
To produce installers without publishing (e.g. to test a build), run the workflow manually from the Actions tab — they're attached as downloadable artifacts instead.
- The OpenAI key lives only in the main process; the renderer learns a
boolean
apiKeyPresentand nothing more. - All OpenAI/DB/secret access happens in main; the renderer talks via the typed
window.apipreload bridge. .envis gitignored; the key is never logged (logger redactssk-…).
Actively developed. The core flows are in place — profiles, live session with grounded answers, the Cue Card, region/clipboard solve, mock interviews, and coaching reports. See the changelog for what ships in each release and docs/09-MVP-PLAN.md for the roadmap.



