A local-first macOS app that records meeting audio, transcribes it on-device with WhisperKit, identifies speakers with FluidAudio neural diarization with Chinese-aware k-means re-clustering on raw 256D embeddings, and uses your choice of LLM (Claude, ChatGPT, Gemini, and 8 others) to generate structured notes — typically ~$0.30/month on Claude Sonnet.
Most AI note-taking apps send your audio to the cloud, charge $18+/month, and join your call as a bot. Seminarly runs entirely on your Mac — no bot, no upload, no subscription. You keep your data; you pay only the per-call cost of the LLM provider you choose (~$0.03 per meeting on Claude Sonnet, similar or lower on other providers).
The notepad is the key difference. Instead of passively summarising everything, Seminarly lets you jot shorthand during the meeting. Claude uses your notes as signals of what matters, expands them with transcript context, and fills in what you missed — the same "jot and enhance" workflow that makes Granola popular, at a fraction of the cost.
Download the notarized DMG from the latest release, then drag Seminarly into Applications.
When architecture-specific downloads are available, choose Seminarly-AppleSilicon.dmg for an M-series Mac or Seminarly-Intel.dmg for an Intel Mac. Both include ChatGPT sign-in. The larger Seminarly.dmg works on either and remains available for older in-app update links. Newer app versions select the native download automatically.
To build from source instead:
git clone https://github.com/daniellee-ux/Seminarly-AI.git
cd Seminarly-AI
brew install xcodegen # if not already installed
xcodegen generate
open Seminarly.xcodeprojBuild and run in Xcode (⌘R).
On first launch, Seminarly prepares the selected Whisper model. Models are cached on your Mac and transcription runs locally after download.
Apple Silicon users can try Settings → Transcription Model → Qwen 0.6B, an experimental mixed-quantization model with a ~542 MB download. Whisper remains the default. See Qwen setup, timing limitations, and validation.
Grant permissions when prompted:
- Microphone — to capture your voice
- Audio capture — to tap other apps' audio (macOS 14.4+)
Open Settings (gear icon) → AI Provider. Choose ChatGPT (Beta), click Sign in with ChatGPT, and finish signing in in your browser. Seminarly automatically prepares a verified connection component on first use, with progress and cancel/retry controls. No terminal, manual installation, or API key is needed. The component is cached across app updates. Your plan's usage limits and workspace restrictions apply; see setup and limitations.
Alternatively, choose an API provider and paste its API key. Keys are stored in macOS Keychain and sent only to the selected provider for authentication. ChatGPT plan and OpenAI API are separate billing options; Seminarly never silently falls back to the paid API.
Default is Anthropic Claude (console.anthropic.com). Other supported providers are listed below.
Option A — Auto-detect (easiest) Start a Zoom/Meet/Teams call. Within a few seconds, Seminarly shows a banner: "Zoom is producing audio — Record?" Click Record and you're in.
Option B — Manual Click the record button (⏺) in the toolbar or use the menu bar icon. Pick the audio source from the dropdown and hit Start Recording.
Once recording starts, the app transforms into a notepad. Type anything — shorthand, headings, fragments:
# Action items
- infra cost review → daniel
budget approved for Q2
sarah presenting next week
You don't need to write full sentences. The AI fills in the gaps.
Hit Stop. Seminarly will:
- Finalize the transcript
- Identify speakers (FluidAudio neural diarization)
- If you wrote notes → enhance them with transcript context
- If you wrote nothing → structure the transcript automatically
The result appears in the meeting detail view within ~15 seconds.
Pick the template that fits your session before recording:
| Template | Best for |
|---|---|
| Freeform (default) | Any conversation — model picks natural topic groupings, with nested bullets |
| Meeting | Standups, 1:1s, team meetings — captures decisions and action items |
| Lecture | Classes, talks — Cornell-method notes with key concepts and review questions |
| Study Guide | Exam prep — Q&A pairs, memory aids, practice problems |
| Podcast | Interviews, panels — key insights, notable quotes, references |
| Custom | Anything else — write your own instructions |
The notepad is Seminarly's core UX. A few tips:
- Use
#headings to define sections —# Action Itemstells the AI to create that section - Write fragments, not sentences —
budget Q2 approvedis enough - Note names and owners —
migration → alex by fridayproduces a properly formatted action item - You don't have to write anything — the auto-structure path works well on its own
After the session, your notes appear in the detail view. You can edit them and click Enhance to regenerate at any time.
- System audio capture — tap any app's audio (Zoom, Meet, Teams) via Core Audio Taps API
- On-device transcription — WhisperKit, plus an optional Qwen 0.6B experiment on Apple Silicon; no cloud transcription fees
- Speaker diarization — FluidAudio neural embeddings with Chinese-aware k-means re-clustering
- Live notepad — jot notes during recording; AI expands them with transcript context
- AI-structured notes — summaries, action items, decisions with per-item source attribution
- Multi-provider LLM support — Claude, ChatGPT, Gemini, Grok, Kimi, GLM, MiniMax, DeepSeek, Doubao (China + International) — bring your own key, switch any time
- Summary language picker — generate notes in any of 24 preset languages (or any custom language) independent of the spoken transcript; covers Simplified vs Traditional Chinese, Cantonese, Bokmål vs Nynorsk, Brazilian vs European Portuguese
- Auto-detect audio sources — detects meeting apps and prompts to record
- 6 note templates — freeform, meeting, lecture, study guide, podcast, custom
- Background updates — opt in under Settings → Software Updates to check daily and download updates; review and confirm installation when you are ready to restart
- Local storage — all data stays on your Mac (SwiftData)
- Menu bar app — start/stop recording from anywhere
- Export — Markdown file or clipboard copy
Configure providers in Settings → AI Provider. ChatGPT uses managed sign-in and the account's model list; API providers use separate Keychain entries and editable model fields.
| Provider | Default model | Authentication |
|---|---|---|
| Anthropic Claude (default) | claude-sonnet-4-6 |
console.anthropic.com |
| ChatGPT (Beta) | Automatic (account default) | ChatGPT sign-in; no API key or extra installation |
| OpenAI API | gpt-5.5 |
platform.openai.com |
| Google Gemini | gemini-3.1-flash-lite-preview |
aistudio.google.com |
| xAI Grok | grok-4.20 |
console.x.ai |
| Moonshot Kimi (international + China) | kimi-k2.6 |
platform.moonshot.ai / platform.moonshot.cn |
| Zhipu GLM | glm-5.1 |
bigmodel.cn |
| MiniMax | MiniMax-M2.7 |
platform.minimaxi.com |
| DeepSeek | deepseek-v4-flash |
platform.deepseek.com |
| ByteDance Doubao (China + International) | Endpoint ID (China) / seed-1-8-251228 (Int'l) |
volcengine.com / bytepluses.com |
For API providers, the model field is editable so you can switch to another supported model.
| Service | Monthly (10 meetings) | Annual |
|---|---|---|
| Seminarly (Claude Sonnet) | ~$0.30 | ~$3.60 |
| Granola | $18 | $216 |
| Notion AI | $20 | $240 |
| Otter.ai Pro | $8.33 | $100 |
Each note-generation call typically costs ~$0.02–0.04 on Claude Sonnet; comparable or lower on other providers (some Chinese providers are noticeably cheaper). No subscription, no base fee.
- macOS 14.4+ (required for Core Audio Taps)
- Apple Silicon recommended — Intel Macs can build and run it, but on-device transcription is slow
- 8 GB RAM minimum; 16 GB recommended if you want the default Whisper
large-v3model. The smaller models work fine on lower-memory machines:large-v3— best accuracy, ~3 GB RAM during inferencemedium— good accuracy, ~1.5 GB RAMsmall— usable for clear English, ~500 MB RAM
- Xcode 16.3+ (matches
project.yml) - An eligible ChatGPT account, or an API key from a supported provider
System Audio → Core Audio Taps → 16kHz PCM → WhisperKit → Transcript
↓
Microphone → AVAudioEngine → 16kHz PCM ──────────────→ Diarization
↓
User Notes (optional)
↓
LLMProvider (selected)
ChatGPT (Codex App Server) / API providers
↓
Structured Notes
↓
SwiftData (local)
See docs/ARCHITECTURE.md for a full breakdown of every module.
A small read-only CLI (seminarly-cli) plus a checked-in Agent Skill lets coding agents — Claude Code, Codex, Cursor, Gemini CLI, anything that can shell out — read your sessions in Markdown form.
In-repo (one-off):
./scripts/build-cli.sh # build once
./Tools/seminarly-cli list # JSON of sessions, newest first
./Tools/seminarly-cli get latest # Markdown for your most recent session
./Tools/seminarly-cli search "OKR" # find sessions mentioning a topicGlobal install (use from any directory):
./scripts/install-global.sh # builds CLI + symlinks the skill into
# ~/.agents/skills/seminarly-cli/
# (also Claude Code's ~/.claude/skills/)
# and the binary into ~/.local/bin/After install, open any project in your coding agent and the seminarly-cli skill is discoverable; the bare seminarly-cli command resolves via $PATH.
Output distinguishes the three data types (user notes, AI-enhanced notes, transcript) with separate sections and inline [user] / [transcript] source tags.
See docs/agent-access.md for the full design, JSON shapes, and instructions for extending it.
Bug reports, feature requests, and pull requests are welcome. See CONTRIBUTING.md for setup, tests, and conventions.
GNU Affero General Public License v3.0 (AGPL-3.0). See LICENSE. Third-party dependencies and their licenses are listed in THIRD_PARTY_LICENSES.md.