Skip to content

ruzin/stenoai

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

215 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

StenoAI Logo

StenoAI

Your very own stenographer for every meeting

Build Release Discord License macOS

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 & Tesco.

StenoAI Interface

Twitter Follow

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.

πŸ“’ What's New

  • 2026-03-11 🌍 Automatic language detection β€” Automatically detect your language
  • 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-22 πŸ–₯️ Remote Ollama server β€” Run AI models on another machine on your network
  • 2026-02-19 🎧 System audio capture β€” Record both sides of virtual meetings, even with headphones on
  • 2026-02-19 πŸ“… Google & Outlook Calendar integration β€” Auto-name recordings from your meetings

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 - Transcribe and summarize in 11 languages
  • 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)

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

How to set it up

  1. Open the Shortcuts app on macOS.
  2. Create a new shortcut (for example: "Start StenoAI Recording").
  3. Add the Open URLs action.
  4. Use one of the URLs above.
  5. (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

  1. Rules App monitors upcoming Calendar events.
  2. Rules checks the event note/body for a marker keyword (for example stenoai).
  3. If matched, Rules runs a Shortcut.
  4. The Shortcut gets the next event title and opens:
    • stenoai://record/start?name={calendar_event_title}
  5. StenoAI receives the URL and starts recording with that name.

Step-by-step setup

  1. Install Rules – Calendar Automation on macOS.
  2. Create a Shortcut in Apple Shortcuts (example name: StenoAI Start From Calendar Event).
  3. In that Shortcut, add actions in this order:
    • Find Calendar Events (limit to 1, sorted by start date ascending, upcoming only)
    • Extract the event title from the found event
    • URL Encode the title
    • Open URLs with:
      • stenoai://record/start?name=<encoded title>
  4. 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
  5. In your Calendar event notes, add the word stenoai for meetings that should auto-start recording.
  6. Test with a near-future event:
    • create event with stenoai in notes,
    • wait for trigger,
    • confirm StenoAI starts and uses the event title as session name.

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.

Models & Performance

Transcription Models (Whisper):

  • small: Default model - good accuracy and speed on Apple Silicon (default)
  • base: Faster but lower accuracy for basic meetings
  • medium: 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 efficient
  • qwen3.5:9b (6.6GB): Excellent at structured output and action items
  • deepseek-r1:14b (9.0GB): Strong reasoning and analysis capabilities
  • gpt-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

Scored on: overall quality, factual accuracy, completeness, and hallucination (each out of 10).

# Provider Model Overall Accuracy Complete No Halluc. Notes
1 Anthropic Claude Sonnet 4.6 9.8 9.8 9.5 10.0 Most precise; perfect framing
2 Anthropic Claude Haiku 9.5 9.5 9.0 10.0 Very strong; slightly less detailed
3 StenoAI DeepSeek R1:8B 8.8 9.0 8.0 8.5 Broad coverage; fewer numerical details
4 StenoAI Qwen 3:8B 8.5 9.0 7.5 8.5 Accurate but more compressed
5 OpenAI GPT-4.1 8.3 9.0 8.0 6.5 Accurate but invented meeting framing
6 OpenAI GPT-4o Mini 8.0 8.5 7.5 6.0 Invented framing and participants
7 StenoAI Gemma 3:4B 7.0 8.5 7.0 3.5 Fabricated participants and action items

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):

Installing on macOS

  1. Download and open the DMG file

  2. Drag the app to Applications

  3. When you first launch the app, macOS may show a security warning

  4. 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
  5. 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/                  # Python backend
β”œβ”€β”€ website/              # Marketing site
β”œβ”€β”€ recordings/           # Audio files
β”œβ”€β”€ transcripts/          # Text output
└── output/              # Summaries

Troubleshooting

Debug Logs

StenoAI includes a built-in debug panel for troubleshooting issues:

In-App Debug Panel:

  1. Launch StenoAI
  2. Click the πŸ”¨ hammer icon (next to settings)
  3. The debug panel shows real-time logs of all operations

Terminal Logging (Advanced): For detailed system-level logs, run the app from Terminal:

# Launch StenoAI with full logging
/Applications/StenoAI.app/Contents/MacOS/StenoAI

This displays comprehensive logs including:

  • Python subprocess output
  • Whisper transcription details
  • Ollama API communication
  • HTTP requests and responses
  • Error stack traces
  • Performance timing

System Console Logs: For system-level debugging:

# 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

Common Issues:

  • Recording stops early: Check microphone permissions and available disk space
  • "Processing failed": Usually Ollama service or model issues - check terminal logs
  • Empty transcripts: Whisper couldn't detect speech - verify audio input levels
  • Slow processing: Normal for longer recordings - Ollama processing is CPU-intensive especially on older intel Macs

Logs Location

  • User Data: ~/Library/Application Support/stenoai/
  • Recordings: ~/Library/Application Support/stenoai/recordings/
  • Transcripts: ~/Library/Application Support/stenoai/transcripts/
  • Summaries: ~/Library/Application Support/stenoai/output/

License

This project is licensed under the MIT License.

About

Privacy focused AI powered meeting intelligence using locally hosted Small Language Models. StenoAI Scribe for structured clinical notes available.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors