Open-source · MIT License · v0.1.0

Meeting notes that
stay yours.

No bot joins your call. No audio leaves your machine. Whisper transcribes locally, your LLM structures the notes — runs entirely on your hardware.

Open App → View on GitHub
$ git clone https://github.com/suryanandx/muesli
$ cd muesli && bash setup.sh
✓ Created .env
✓ Dependencies installed
$ .venv/bin/python -m app.main
🥣 muesli → http://localhost:7474
Three steps, zero friction.
Start a meeting. Talk. Get clean notes. Nothing else to configure — it just listens.
1

Click Start Meeting

Muesli begins recording your audio input — microphone for in-person, or BlackHole for Zoom/Meet/Teams. No bot joins. No shared link needed.

2

Meet normally

Join your call as you always do. Jot rough notes in the sidebar if you want — "decided on Redis", "ask about deadline". Muesli captures the rest.

3

Stop & get notes

Whisper transcribes locally. Your LLM merges the transcript with your rough notes into clean, structured markdown — key points, decisions, action items.

Your meetings are yours.
Most meeting tools send your audio to a server you don't control. Muesli doesn't.

With Muesli

  • Transcription runs on your CPU, offline
  • Notes stored in SQLite on your machine
  • No meeting bot, no shared link required
  • Use Ollama for 100% air-gapped operation
  • No account, no sign-up, no telemetry
  • MIT licensed — audit everything

Traditional tools (Otter, Fathom, Granola)

  • Audio streamed to their cloud in real-time
  • Notes stored on their servers
  • Bot joins your call (visible to all participants)
  • Closed source — can't verify their claims
  • Requires account and subscription
  • Subject to their privacy policy changes
Your LLM, your choice.
Switch between providers in one line. Muesli works with Anthropic, any Ollama model, and 200+ models via OpenRouter.
Anthropic
Default
Claude Sonnet gives the sharpest, most structured notes. Best for teams that want high-quality output and are comfortable with an API key.
PROVIDER=anthropic
ANTHROPIC_API_KEY=sk-ant-...
ANTHROPIC_MODEL=claude-sonnet-4-6
Ollama
100% Local
Run any open model locally — Llama 3.2, Mistral, Qwen 2.5, Gemma. Nothing leaves your machine, even the summarization. Perfect for sensitive meetings.
PROVIDER=ollama
OLLAMA_MODEL=llama3.2
OLLAMA_BASE_URL=http://localhost:11434
OpenRouter
One API key, 200+ models. Mix and match — use Claude for important meetings, a cheaper model for quick stand-ups. Great for cost control.
PROVIDER=openrouter
OPENROUTER_API_KEY=sk-or-...
OPENROUTER_MODEL=anthropic/claude-3.5-sonnet
No bots. Direct capture.
Muesli records audio straight from your Mac — no bot joins the call, no link to share, no one else sees it's there.

🎙️ In-person / microphone

Works out of the box. Muesli records from your default microphone — ideal for in-person meetings, phone calls on speaker, or recordings of yourself.

# .env — nothing to change
AUDIO_DEVICE=

💻 Zoom / Meet / Teams

Install BlackHole — a free, open-source virtual audio driver. Route your Mac's output through it, and Muesli captures everything including remote participants.

# Install BlackHole (one-time)
brew install blackhole-2ch

# Set in .env
AUDIO_DEVICE=BlackHole 2ch
One command to install.
$ git clone https://github.com/suryanandx/muesli && cd muesli
$ bash setup.sh
 
🥣 muesli setup
─────────────────────────
✓ Created .env
✓ Dependencies installed
✓ Whisper model ready
 
$ .venv/bin/python -m app.main
🥣 muesli → http://localhost:7474
1

Clone the repo and run bash setup.sh

2

Add your API key to .env

3

Run the app and open localhost:7474