AI-powered meeting intelligence that runs entirely on your device, your private data never leaves anywhere. Record, transcribe, summarize, and query your meetings using local AI models. Perfect for healthcare, legal and finance professionals with confidential data needs.
Trusted by users at AWS & Deliveroo.
Disclaimer: This is an independent open-source project for meeting-notes productivity and is not affiliated with, endorsed by, or associated with any similarly named company.
- 2026-04-19 🔄 In-app auto-updates — Updates download in the background and install on next quit; no more manual DMG downloads
- 2026-04-19 💬 Inline ask bar — Query your meetings from a floating bar at the bottom of every note
- 2026-04-19 📂 Ask against saved markdown — The ask bar now reads your saved
.mdnotes directly (summary, topics, and full transcript) - 2026-04-19 📝 Diarised markdown export — Saved transcripts include
[You]/[Others]speaker labels - 2026-03-25 ✍️ In-app note-taking — Jot notes during a recording and they're folded into the AI summary
- 2026-03-23 🗣️ Speaker diarisation — [You] vs [Others] labels for system audio recordings
- 2026-03-23 🌍 Auto-detect language — 99 languages supported out of the box
- 2026-03-04 🏷️ Auto-generated meeting titles — AI creates short titles from your transcripts
- Privacy-first — 100% on-device; your recordings, transcripts, and summaries never leave your Mac
- In-app note-taking — Jot notes while you record; they're folded straight into the AI summary
- Ask your meetings — Natural-language Q&A across any saved note, including summary, key topics, and full transcript
- System audio capture — Record both sides of virtual meetings, headphones on, no extra setup
- Speaker diarisation —
[You]vs[Others]labels on system-audio recordings - Multi-language — Auto-detect and transcribe in 99 languages
- Markdown notes — Summaries and transcripts saved as clean Markdown you can edit, search, or sync
- Remote Ollama server — Offload summarisation to a beefier Mac or workstation on your network
- Bring your own cloud model — Optional OpenAI, Anthropic, or custom API endpoint for users who prefer a hosted LLM
- Under the hood — Local transcription via whisper.cpp, summarisation via bundled Ollama (5 models to choose from)
Expand setup and calendar automation guide
StenoAI supports Apple Shortcuts via deep links using the stenoai:// URL scheme.
- Start recording:
stenoai://record/start?name=Daily%20Standup - Stop recording:
stenoai://record/stop
- Open the Shortcuts app on macOS.
- Create a new shortcut (for example: "Start StenoAI Recording").
- Add the Open URLs action.
- Use one of the URLs above.
- (Optional) Add a keyboard shortcut from the shortcut settings.
If you want calendar-based names, resolve the event title in your Shortcut workflow and pass it as the name query value in the start URL.
Example:
stenoai://record/start?name=Weekly%20Product%20Sync
macOS Shortcuts cannot natively trigger exactly at Calendar event start.
To run this automatically on event timing, a third-party automation app is required.
This addon uses:
- Apple Shortcuts: builds the
stenoai://record/start?...action. - Rules – Calendar Automation: watches Calendar events and triggers the shortcut.
- Rules App monitors upcoming Calendar events.
- Rules checks the event note/body for a marker keyword (for example
stenoai). - If matched, Rules runs a Shortcut.
- The Shortcut gets the next event title and opens:
stenoai://record/start?name={calendar_event_title}
- StenoAI receives the URL and starts recording with that name.
- Install Rules – Calendar Automation on macOS.
- Create a Shortcut in Apple Shortcuts (example name:
StenoAI Start From Calendar Event). - In that Shortcut, add actions in this order:
Find Calendar Events(limit to1, sorted by start date ascending, upcoming only)- Extract the event title from the found event
URL Encodethe titleOpen URLswith:stenoai://record/start?name=<encoded title>
- Open Rules and create a calendar-trigger rule:
- Source: your target calendar(s)
- Trigger window: event start (or preferred offset)
- Condition: event note contains
stenoai - Action: run Shortcut
StenoAI Start From Calendar
- In your Calendar event notes, add the word
stenoaifor meetings that should auto-start recording. - Test with a near-future event:
- create event with
stenoaiin notes, - wait for trigger,
- confirm StenoAI starts and uses the event title as session name.
- create event with
- Without Rules (or another automation bridge), this cannot be fully event-driven from Calendar start time.
- Keep using regular manual shortcuts (
Open URLs) for non-automated scenarios.
Have questions or suggestions? Join our Discord to chat with the community.
Transcription Models (Whisper):
small: Default model - good accuracy and speed on Apple Silicon (default)base: Faster but lower accuracy for basic meetingsmedium: High accuracy for important meetings (slower)
Summarization Models (Ollama):
llama3.2:3b(2GB): Fast and lightweight for quick meetings (default)gemma3:4b(2.5GB): Lightweight and efficientqwen3.5:9b(6.6GB): Excellent at structured output and action itemsdeepseek-r1:14b(9.0GB): Strong reasoning and analysis capabilitiesgpt-oss:20b(14GB): OpenAI open-weight model with reasoning capabilities
- Live transcription during recording
- NVIDIA Parakeet as a transcription engine option
- Editing notes after processing
- Windows version
Download the latest release for your Mac (requires macOS 14 Sonoma or later):
- Apple Silicon (M1-M5)
- Intel Macs Performance on Intel Macs is limited due to lack of dedicated AI inference capabilities on these older chips.
-
Download and open the DMG file
-
Drag the app to Applications
-
When you first launch the app, macOS may show a security warning
-
To fix this warning:
- Go to System Settings > Privacy & Security and click "Open Anyway"
Alternatively:
- Right-click StenoAI in Applications and select "Open"
- Or run in Terminal:
xattr -cr /Applications/StenoAI.app
-
The app will work normally on subsequent launches
You can run it locally as well (see below) if you don't want to install a DMG.
- Python 3.9+
- Node.js 18+
git clone https://github.com/ruzin/stenoai.git
cd stenoai
# Backend setup
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
# Download bundled binaries (Ollama, ffmpeg)
./scripts/download-ollama.sh
# Build the Python backend
pip install pyinstaller
pyinstaller stenoai.spec --noconfirm
# Frontend
cd app
npm install
npm startNote: Ollama and ffmpeg are bundled - no system installation needed. The setup wizard in the app will download the required AI models automatically.
cd app
npm run buildstenoai/
├── app/ # Electron desktop app
├── src/ # Python backend
├── website/ # Marketing site
├── recordings/ # Audio files
├── transcripts/ # Text output
└── output/ # Summaries
Setup wizard debug console: during first-time setup, expand the debug console panel to see real-time logs of model downloads and service startup.
Terminal logging (recommended for runtime issues): launch the app from a terminal to stream all logs (Python subprocess output, Whisper transcription, Ollama API traffic, error stack traces):
/Applications/StenoAI.app/Contents/MacOS/StenoAISystem Console:
# View recent StenoAI-related logs
log show --last 10m --predicate 'process CONTAINS "StenoAI" OR eventMessage CONTAINS "ollama"' --info
# Monitor live logs
log stream --predicate 'eventMessage CONTAINS "ollama" OR process CONTAINS "StenoAI"' --level info- Update didn't install: Auto-updates are applied on next quit. Quit via the StenoAI → Quit menu (not just closing the window), then reopen.
- No system audio / no
[Others]speaker labels: macOS needs Screen Recording permission. Go to System Settings → Privacy & Security → Screen & System Audio Recording, enable StenoAI, and relaunch the app. stenoai://deep link doesn't start recording: Make sure StenoAI has launched at least once after install so the URL scheme is registered. If it still fails, check the terminal log forProtocol handler registrationoutput.- Recording stops early: Check microphone permissions, Screen Recording permission (if using system audio), and available disk space.
- "Processing failed": Usually an Ollama service or model issue — check the terminal logs.
- Empty transcripts: Whisper couldn't detect speech — verify audio input levels.
- Slow processing: Normal for longer recordings; Ollama is CPU-intensive, especially on older Intel Macs.
- User Data:
~/Library/Application Support/stenoai/ - Recordings:
~/Library/Application Support/stenoai/recordings/ - Transcripts:
~/Library/Application Support/stenoai/transcripts/ - Summaries:
~/Library/Application Support/stenoai/output/
This project is licensed under the MIT License.

