Stenoai
Privacy focused AI powered meeting intelligence using locally hosted Small Language Models. StenoAI Scribe for structured clinical notes in development.
Install / Use
/learn @ruzin/StenoaiREADME
StenoAI
Your very own stenographer for every meeting
</div> <p align="center"> <a href="https://github.com/ruzin/stenoai/actions/workflows/build-release.yml"><img src="https://img.shields.io/github/actions/workflow/status/ruzin/stenoai/build-release.yml?branch=main&style=for-the-badge" alt="Build"></a> <a href="https://github.com/ruzin/stenoai/releases"><img src="https://img.shields.io/github/v/release/ruzin/stenoai?style=for-the-badge" alt="Release"></a> <a href="https://discord.gg/DZ6vcQnxxu"><img src="https://img.shields.io/badge/Discord-Join%20Server-5865F2?style=for-the-badge&logo=discord&logoColor=white" alt="Discord"></a> <a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-blue?style=for-the-badge" alt="License"></a> <img src="https://img.shields.io/badge/Platform-macOS-000000?style=for-the-badge&logo=apple&logoColor=white" alt="macOS"> </p> <p align="center">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.</p> <p align="center"><sub>Trusted by users at <b>AWS</b> & <b>Deliveroo</b>.</sub></p> <div align="center"> <img src="website/public/app-demo-3.png" alt="StenoAI Interface" width="800"> <br> </div> <p align="center"><sub><i>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.</i></sub></p>📢 What's New
- 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
- 2026-03-04 ⌨️ macOS Shortcuts support — Start/stop recordings via Apple Shortcuts deep links
- 2026-03-04 🤖 Updated model lineup — Qwen 3.5 9B, DeepSeek-R1 14B, GPT-OSS 20B; Ollama v0.17.5
- 2026-03-04 🙈 Hide dock icon — Run StenoAI in menu-bar-only mode
- 2026-02-22 🌍 Multi-language support — Transcribe and summarize in 10 languages
- 2026-02-19 🎧 System audio capture — Record both sides of virtual meetings, even with headphones on
Features
- Local transcription using whisper.cpp
- AI summarization with Ollama models
- Privacy-first - 100% local processing, your data never leaves your device
- Multiple AI models - Choose from 5 models optimized for different use cases
- Ask Steno - Query your meetings with natural language questions
- Multi-language support - Auto-detect and transcribe 99 languages
- Speaker diarisation - [You] vs [Others] labels for system audio recordings
- Remote Ollama server - Run AI models on another machine on your network
- System audio capture - Record mic + system audio simultaneously for virtual meetings with headphones
- macOS desktop app with intuitive interface
macOS Shortcuts (Optional)
<details> <summary>Expand setup and calendar automation guide</summary>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
How to set it up
- 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.
Calendar event naming (optional)
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
Calendar event start automation (via Rules bridge)
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.
Architecture overview
- 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.
Step-by-step setup
- 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
Notes
- 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.
</details>Models & Performance
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
StenoAI Local Model Performance vs Claude Sonnet 4.6: Closing the Gap! 🚀
YouTube Video Summary Challenge (11m 36s): High-Speed Rail Systems Around the World
<sub>Scored on: overall quality, factual accuracy, completeness, and hallucination (each out of 10).</sub>
| # | Provider | Model | Overall | Accuracy | Complete | No Halluc. | Notes | |:-:|----------|-------|:-------:|:--------:|:--------:|:----------:|-------| | 1 | Anthropic | Claude Sonnet 4.6 | 9.8 | 9.8 | 9.5 | 10.0 | <sub>Most precise; perfect framing</sub> | | 2 | Anthropic | Claude Haiku | 9.5 | 9.5 | 9.0 | 10.0 | <sub>Very strong; slightly less detailed</sub> | | 3 | StenoAI | DeepSeek R1:8B | 8.8 | 9.0 | 8.0 | 8.5 | <sub>Broad coverage; fewer numerical details</sub> | | 4 | StenoAI | Qwen 3:8B | 8.5 | 9.0 | 7.5 | 8.5 | <sub>Accurate but more compressed</sub> | | 5 | OpenAI | GPT-4.1 | 8.3 | 9.0 | 8.0 | 6.5 | <sub>Accurate but invented meeting framing</sub> | | 6 | OpenAI | GPT-4o Mini | 8.0 | 8.5 | 7.5 | 6.0 | <sub>Invented framing and participants</sub> | | 7 | StenoAI | Gemma 3:4B | 7.0 | 8.5 | 7.0 | 3.5 | <sub>Fabricated participants and action items</sub> |
Future Roadmap
Enhanced Features
- Custom summarization templates
- Speaker Diarisation
StenoAI Med
- HIPAA compliance for healthcare workflows
- EHR integration for medical notes
Installation
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.
Installing on macOS
-
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.
Local Development/Use Locally
Prerequisites
- Python 3.9+
- Node.js 18+
Setup
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 start
Note: Ollama and ffmpeg are bundled - no system installation needed. The setup wizard in the app will download the required AI models automatically.
Build
cd app
npm run build
Project Structure
stenoai/
├── app/ # Electron desktop app
├── src/ # Py
