Lumi Documentation
Lumi is an AI listening companion for macOS. It captures audio, transcribes in real time, and gives you AI-powered answers using your uploaded documents.
Installation
1 Download
Download Lumi from our store. You'll receive a .zip file.
2 Open the installer
macOS blocks unsigned downloaded apps on double-click. Use one of these methods:
Terminal (one command):
xattr -cr ~/Downloads/Lumi-v1.0.0/ && open ~/Downloads/Lumi-v1.0.0/Install\ Lumi.command
Or right-click method (no Terminal):
- Right-click (or Ctrl+click) on
Install Lumi.command - Select Open from the context menu
- Click Open in the security dialog
3 Done
The installer copies Lumi.app to /Applications and launches it. Subsequent launches work normally — macOS remembers your choice.
Or skip the installer: drag Lumi.app to Applications, then right-click → Open.
4 Grant permissions
Lumi needs Screen Recording permission to capture system audio. macOS will prompt you. After granting, restart the app (required by macOS on first grant).
First Launch
- The onboarding wizard guides you through setup
- Enter your STT and AI provider keys
- Grant Screen Recording permission
- Press
Cmd+Shift+Oto show the overlay — you're ready!
Provider Setup
Lumi can use OpenAI Whisper or Deepgram for speech-to-text, and OpenAI, Claude, Groq, Gemini, or Ollama for text responses. Screenshot analysis currently uses OpenAI vision.
- Open Lumi Settings and choose your STT backend and AI backend
- Add the required provider keys, such as OpenAI or Deepgram
- If you want screenshot analysis, add an OpenAI key for vision
Start Listening
Click Start Listening or press Cmd+Shift+Space to begin capturing audio from your video call, YouTube, or any app playing sound.
- Transcript appears in real-time in the left panel
- Click Ask AI anytime to get an answer
- Click End Session when done — see your performance metrics
Action Buttons & Ask AI
The top bar has one-click action buttons that execute immediately:
| Button | What it does |
|---|---|
| Ans | Generate the best answer based on transcript + playbook + history |
| Recap | Summarize the conversation — key points, decisions, action items |
| Code | Analyze code, provide solution with complexity analysis |
| F/Up | Suggest 3-5 follow-up questions to ask |
You can also:
- Type a question — "summarize what was discussed", "explain that concept"
- Use slash commands —
/recap,/code,/followup,/answer - Select from More menu — all stored modes and custom prompts
If screenshots are queued, actions automatically route through GPT-4o vision.
Response Transforms
After getting an AI response, use the transform buttons below it:
- Shorten — condense to essential points
- Expand — add more detail and examples
- Bullets — reformat into bullet points
- Copy — copy response to clipboard
Transforms are origin-aware: if the answer came from screenshots, the transform stays in the vision path. They don't pollute conversation history.
Smart Intent Routing
Lumi automatically classifies your query and adapts the AI system prompt. It detects 7 intents: answer, clarify, code, brainstorm, recap, follow-up, system design. This happens locally — no extra API call.
Knowledge Base (Playbooks)
Upload your documents so the AI answers with your specific details — not generic advice.
Setting up a playbook:
- Settings → Playbooks tab → New Playbook
- Click Add File — select multiple files at once (PDF, TXT, MD, RTF). Image-based/scanned PDFs are supported via OCR.
- Click Set Active
What to upload:
| Document | Why |
|---|---|
| Resume | AI introduces you with your actual experience |
| Job Description | AI tailors answers to the role |
| Past Q&As | AI reuses your prepared answers |
| Technical Notes | AI references your specific tech choices |
Lumi intelligently finds the most relevant parts of your documents for each question — even if you upload 50+ pages of notes.
Custom Modes
Each Mode sets the AI system prompt and context strategy. The active Mode controls how Answer, Recap, and Follow Up behave.
Built-in modes:
- Interview — auto-detects question type (behavioral → STAR, coding → solution, system design → structured breakdown)
- Meeting — summaries with action items and suggested responses
- Coding — code review, bug detection, complexity analysis
- General — adaptive format based on content
Create your own:
- Settings → Modes tab → New Mode
- Name it, pick an icon, write the system prompt
- Choose a context strategy (Interview-focused, Meeting-full, Coding-screen, Balanced)
Edit built-ins:
Click the pencil icon next to any built-in mode to customize its prompt. Click the reset icon to restore factory defaults at any time.
Quick Actions
One-click action buttons at the top of the overlay:
- Answer — generate an answer using transcript + playbook + conversation history
- Recap — summarize what's been discussed so far
- Follow Up — suggest questions to ask
- Shorten — condense the last AI response to key points
- Expand — add more detail and examples to the last response
If screenshots are queued, Answer/Recap/Follow Up automatically route through GPT-4o vision.
AI Playbook Synthesis
Click Re-organize on a playbook to have AI merge all documents into one structured markdown (Profile, Experience, Key Achievements, Skills, Projects, Notes). The synthesis becomes the primary context source — AI answers draw from this organized summary first.
Contextual Hints
Add technical terms and jargon so the speech engine recognizes them correctly. Hints improve transcription accuracy across all STT providers.
| Provider | How hints are used |
|---|---|
| Apple Speech | contextualStrings — native keyword list |
| Whisper API | Appended to prompt text for vocabulary guidance |
| Deepgram | keywords param with boost weight (default: 2) |
Organize hints by category (tech, project, company). Loaded once per session — no per-chunk overhead.
- Settings → Hints tab
- Add categories and terms (e.g., "Kubernetes", "gRPC", "ERC-3643")
- Click Save — hints are used the next time you start listening
Screenshot Queue
Capture up to 5 screenshots that are sent to AI together in one call.
- Press
Cmd+Shift+S(or click Capture) — screenshot is added to the queue - Thumbnails appear in the capture panel with a count (e.g., "Screenshots 3/5")
- Capture more screenshots to build context (e.g., multiple slides, code files, whiteboard)
- Press
Cmd+Shift+Return(or click Ask AI) — all images are sent to GPT-4o vision
Managing screenshots:
- Remove one — click the X on any thumbnail
- Undo/redo — arrow buttons in the screenshot bar
- Clear all — click the X button on the right
- Max 5 — oldest screenshot is dropped when you exceed the limit
Works for coding questions, whiteboard problems, slides, or any visual content.
Session Management
Lumi automatically saves your work so you never lose data — even if the app crashes.
How it works:
- Auto-save — sessions flush to disk every 30 seconds, or when memory exceeds 500KB
- Session picker on launch — see your recent sessions and resume any one, or start fresh
- Resume — pick up where you left off: transcript, AI conversation history, and playbook context are fully restored
Managing sessions:
Go to Settings → Sessions to:
- Resume — click to restore a previous session
- Rename — click the pencil icon to give sessions meaningful names
- Export — save as JSON for backup or sharing
- Import — load JSON files (supports multi-select)
- Delete — remove sessions you no longer need
Session Export
Press Cmd+Shift+E to save the entire session as a Markdown file:
- Full transcript with speaker labels
- All AI responses
- Screenshot analyses
- Session metadata (duration, mode, playbook)
Performance Metrics
Click End Session to see how you did:
- Talk ratio — your speaking time vs others
- Filler words — "um", "uh", "you know" count
- Response pace — how quickly you answered
- Questions answered — how many you responded to
Track your improvement across multiple sessions.
Stealth Mode
By default, Lumi is completely invisible to screen sharing — Teams, Meet, Zoom cannot see it.
The eye icon in the control bar toggles visibility:
- Eye-slash (grey) — invisible to screen sharing (default)
- Eye (red) — visible, for recording demos
Stealth toggle applies to all windows — the overlay, region selector, and performance view are all hidden from screen share simultaneously.
Updates & Licensing
Lumi checks for updates automatically on launch. When a new version is available, a banner appears at the top of the overlay.
- License key — enter your Gumroad license key in Settings → AI to unlock
- Signed updates — update files are cryptographically signed (Ed25519) to prevent tampering
- Auto update check — compares your version against the latest release
How We Protect Your Data
Your documents and credentials are protected with industry-standard encryption. Files stored on disk are unreadable without your machine.
- API keys — encrypted at rest, tied to your machine's hardware
- Playbook documents — encrypted at rest, stored as binary files
- No Lumi cloud storage — local files stay in
~/Library/Application Support/Lumi/ - Delete anytime — remove the folder and all data is gone
Privacy
- No analytics, no telemetry, no tracking
- No account required — no email, no signup
- Your documents never leave your machine
- AI queries are sent to the provider you choose (OpenAI, Anthropic, Groq, Gemini, or local Ollama)
- Audio is processed by your chosen STT provider (Whisper API or Deepgram), then discarded
- Ollama users: everything stays on your machine — no data sent anywhere
Testing & Verification
Lumi is backed by 455 automated tests across 40+ test suites, covering 70% of source files.
What we test:
- AI uses your documents — we upload a test resume and verify the AI response contains exact details like company names, project metrics, and tech choices
- Conversation context — a 7-round simulated interview verifies the AI references earlier answers when asked follow-up questions
- Transcription quality — real audio files are transcribed and checked for keyword accuracy
- Anti-hallucination (7 layers) — silence produces zero output; garbage text in wrong languages is blocked; music lyrics misinterpreted as speech are suppressed via cross-chunk dedup and loop detection
- Encryption — saved files are verified to not contain plaintext; decryption roundtrips are confirmed
- Session cache — write-behind cache verified: files written to disk, data survives simulated crashes, save/load benchmarks under 50ms per flush
- Image PDF OCR — scanned PDFs are extracted via Apple Vision and indexed for search
- Restart reliability — the app can be stopped and restarted multiple times without losing functionality
Verified claims:
| Claim | How we verify |
|---|---|
| AI uses your resume to answer | Upload resume with unique details → ask "introduce yourself" → verify response contains those exact details |
| Conversation context works | 7-round interview → each round verified that AI references previous answers |
| Documents are encrypted | Save file → read raw bytes → confirm plaintext not visible → decrypt → confirm content matches |
| No hallucinations on silence | Feed 3 seconds of silence → verify zero text output |
| Music doesn't generate garbage | Repeated phrases across chunks are deduplicated; 3+ identical outputs suppressed as music loop |
| Sessions survive crashes | Save session → create new store instance → load and verify all data intact |
| Write-behind cache works | 100 flush cycles benchmarked at < 50ms avg; 500KB threshold triggers auto-flush |
Use Case: Interview Preparation
Before the interview
- Create a playbook with your resume, job description, and prepared Q&As
- Set it as active
- Select the Interview prompt
During the interview
- Click Start Listening before the call
- The interviewer's voice is transcribed automatically
- After each question, click Ask AI — the response draws from your resume and previous answers
- If the topic changes completely, click Clear to start fresh
- For different question types, switch modes or use quick actions (Answer, Recap, Follow Up)
After the interview
- Click End Session to see performance metrics
- Export the session for review
Use Case: Meeting Notes
- Select the Meeting prompt
- Click Start Listening when the meeting begins
- Click Ask AI at any point for a running summary with action items
- Type: "What did the team decide about the deadline?"
- Export the session → share structured notes with your team
Use Case: Lecture Companion
Watching a YouTube tutorial, online course, or recorded lecture?
- Select Explain or General prompt
- Click Start Listening
- Type questions as the lecture plays:
- "Explain that in simpler terms"
- "Summarize the last 5 minutes"
- "Give me a code example of that concept"
- Export as study notes when done
Use Case: Podcast Summarizer
- Select the Summarize prompt
- Click Start Listening while the podcast plays
- Click Ask AI periodically for running summaries
- Type: "What are the 3 main takeaways so far?"
- Export as Markdown → structured podcast notes