macOS menu-bar app that turns meeting recordings into structured Markdown notes via your own WhisperX + Ollama servers
  • Swift 73.6%
  • Python 11.7%
  • HTML 9.8%
  • CSS 2.6%
  • Shell 2.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-08-11 08:06:01 +02:00
.claude/skills feat(skills): add distavo-native-verify + distavo-release (repo-local) 2026-07-22 23:07:14 +01:00
.github ci+docs: sign+publish Sparkle appcast on release; verification + setup docs 2026-07-07 17:37:03 +01:00
apple chore(release): bump version to 1.9.1 (build 11) [skip version bump] 2026-08-11 07:53:39 +02:00
docs chore(release): bump version to 1.9.1 (build 11) [skip version bump] 2026-08-11 07:53:39 +02:00
ops feat(site): link the live Mac App Store listing, drop stale in-review copy 2026-07-21 14:24:03 +01:00
scripts docs(appstore): review notes + fresh-install verification for the 2.1(a) fix 2026-07-16 16:46:51 +01:00
.gitignore feat(skills): add distavo-native-verify + distavo-release (repo-local) 2026-07-22 23:07:14 +01:00
CHANGELOG.md chore(release): bump version to 1.1.0 2026-06-29 17:30:14 +01:00
CLAUDE.md ci+docs: sign+publish Sparkle appcast on release; verification + setup docs 2026-07-07 17:37:03 +01:00
CODE_OF_CONDUCT.md Initial release: Scribed — meeting recordings to Markdown notes 2026-06-24 10:59:19 +01:00
CONTRIBUTING.md chore: rename product Seshat → Distavo 2026-06-27 11:50:58 +01:00
DECISIONS.md fix(ci): embed App Store provisioning profile 2026-06-29 19:33:54 +01:00
LICENSE Initial release: Scribed — meeting recordings to Markdown notes 2026-06-24 10:59:19 +01:00
NOTICES.md feat(capture): built-in meeting recorder — system audio + mic via Core Audio taps 2026-07-02 00:48:00 +01:00
PRIVACY.md chore: rename product Seshat → Distavo 2026-06-27 11:50:58 +01:00
PROJECT_STATE.md docs(state): record 1.9.1 App Store submission 2026-08-11 08:06:01 +02:00
README.md docs: state live deployment URL in README 2026-07-10 09:55:58 +01:00
ROADMAP.md chore: rename product Seshat → Distavo 2026-06-27 11:50:58 +01:00
TASKS.md docs(state): record 1.9.1 App Store submission 2026-08-11 08:06:01 +02:00

Distavo

Website: distavo.com

CI License: MIT macOS

Drop a recording in a folder, get a tidy Markdown meeting note back.

Distavo is a native macOS menu-bar app that watches a folder for audio/video recordings and automatically turns each new one into a structured Markdown meeting note. It converts the file locally with AVFoundation, transcribes it on your own WhisperX server, summarises the transcript with your own Ollama server, validates the result, and writes a note to your notes folder.

Distavo does not bundle any AI servers — you point it at WhisperX and Ollama endpoints that you run and trust. macOS only.

Screenshots

The native menu and settings window:

Distavo settings

Requirements / Prerequisites

  • macOS 13+ (this is a menu-bar app — macOS only).
  • A reachable WhisperX HTTP endpoint that you run — see WhisperX.
  • A reachable Ollama HTTP endpoint with a model pulled (for example llama3.1:8b) — see Ollama.

These servers can be on localhost, on another machine on your network, or anywhere you can reach — Distavo never starts them for you, and only ever talks to the URLs you configure.

Install

Distavo is heading to the Mac App Store and Setapp; a notarized direct-download build is published on GitHub Releases.

To build from source you need XcodeGen (brew install xcodegen):

cd apple
xcodegen generate
xcodebuild -project Distavo.xcodeproj -scheme Distavo -configuration Release \
  -derivedDataPath build CODE_SIGNING_ALLOWED=NO build
# the app is written under apple/build/Build/Products/Release/Distavo.app

Distavo launches as a menu-bar agent (no Dock icon) and can start at login from its own settings.

Configure

Open Settings… from the menu bar and fill in:

  • your WhisperX URL (and model, language, speaker options),
  • your Ollama URL and model for summarisation,
  • the watch / notes / work folders if you want non-default locations.

Use the Test connection button to confirm Distavo can reach WhisperX and Ollama before you drop in a recording.

How it works

  1. Distavo watches the recordings folder (default ~/Documents/Distavo/recordings) on a configurable interval.
  2. When a new recording appears, AVFoundation converts it locally to WAV.
  3. The WAV is uploaded to your configured WhisperX server for transcription.
  4. The cleaned transcript is sent to your configured Ollama model for summarisation.
  5. The summary is validated and written as Markdown to the notes folder (default ~/Documents/Distavo/notes/<name>.md).

Config and the work/cache directory live under ~/Library/Application Support/Distavo/, and logs are written to ~/Library/Logs/Distavo/distavo.log.

Supported input formats include .wav, .m4a, .mp3, .opus, .ogg, .flac, .aac, .mov, .mp4, and .m4v (anything AVFoundation can decode).

Privacy

Distavo is built to keep your data on machines you control:

  • Audio is converted to WAV locally with AVFoundation.
  • The WAV is uploaded only to the WhisperX server you configured, and the transcript is sent only to the Ollama server you configured. These may be remote, so point Distavo only at servers you trust.
  • Notes and transcripts are written in cleartext under your home directory.
  • There is no telemetry and no phone-home. Nothing is sent anywhere except the WhisperX/Ollama endpoints you set.

See PRIVACY.md for the full statement.

Contributing

Contributions are welcome — see CONTRIBUTING.md and the Code of Conduct.

Roadmap

Planned direction (direct download → Setapp → Mac App Store) is described in ROADMAP.md.

License

MIT — see LICENSE.

Support

Distavo is free and MIT-licensed. If it saves you time, you can support its development:

Lemon Squeezy GitHub Sponsors Buy Me A Coffee Ko-fi