Admittedly, I have a hard time keeping track of everything that's discussed in meetings, especially as they go long. For a while now I've been using Granola but it always kinda bothered me that my data wasn't kept on-device and I had no idea how they used the audio and AI generated summaries. I had also discovered Meetily, but had questionable results and it was also a bit heavy compared to what I wanted. What's one to do when you want some software tailored to your use case? Build your own.
Introducing Earshot Notes
Earshot Notes is a free (always), open source Mac app that will transcribe your calls, or yourself if you want to capture something out loud on your own, and turn that transcript into notes for later. It also features a notepad so you can write your own notes alongside and will take that into account when summarizing the meeting. You can also later chat with the installed AI model about the meeting with links to specific times in the transcript and links to your own notes.
Everything runs locally on your Mac running MacOS 26 or later. By default, Earshot Notes ships with the Whistle transcription model which is small and good enough for most meeting contexts, but you can optionally install Whisper which is better for longer meetings and technical meetings. During initial setup, Earshot will suggest a small model for summarization and chat, today that's a Qwen 3.5 model, but you can also bring your own model as a GGUF file if you'd rather do that.
What it does
- Your data is yours, period: everything Earshot Notes shows and records is yours. Nothing is shipped off, all of your data stays on your device. You can export any and all of it at any time as Markdown files which include the transcription, summary, chat, and your notes. The only time Earshot Notes ever uses the network is to download models, or check for updates only when you want to check.
- Transcribes both sides of a call: your microphone and the other participants, captured from your Mac’s audio output, so it works with Zoom, Teams, Slack, or anything else that plays sound.
- A notepad during the meeting: type rough notes as you go, and they become the outline of the summary. Summaries that keep the specifics: decisions, numbers, error messages, and who owns each next step.
- Ask about a meeting: “What did we decide about the launch date?” The answer comes from the transcript and your notes, and links to the lines it came from.
- Your vocabulary: teach it the names and terms your meetings use, so it spells them right.
How it's built
First off, I built this with some massive help from Claude Opus 5.5 and learned a ton along the way about how Mac apps are built and how to write and understand Rust. Earshot Notes is a Tauri app built on Rust with a React UI. I built in a couple different transcription model options as I wrote earlier to give more flexibility, and also brought in the ability to use essentially any local AI model via ollama. Originally I built off of the Gemma 4 family of models, but more recently switched to recommend a Qwen 3.5 model because I found through testing that it performed better within a similar memory footprint. All of this was designed to be able to be runnable on a Mac with at least 16 GB of memory, although it's likely that it could be run with Whisper and the recommended model on a 8 GB machine. Don't want to bring in summary and chat capabilities? You don't have to, you can run Earshot Notes without one and only get meeting transcriptions.
Try it out
Earshot Notes needs a Mac with Apple Silicon and macOS 26 or later. Download it from earshotnotes.com or the GitHub releases. The source is on GitHub licensed under GPL 3.0, so you don’t have to take my word about the privacy claims, you can read the code.
I'd love to hear your feedback and ideas on what to build next. I have issues open for a couple other harder to do things like identify speakers and detecting a call to automatically start a recording as well as making this available on Windows and Linux so stay tuned.