Show HN: Yogurt – Free, private, open-source alternative to Granola (github.com)

2 points by brownrout ↗ HN
Hey HN, I’m Eric and I want to share an OSS project that I’ve been building in my free time. Yogurt is a free, MIT licensed desktop app that uses on-device AI models to transcribe, summarize, and chat with your meetings.

Similar to Granola, Yogurt runs in the background and does not join your calls. But unlike Granola, Yogurt is open-source, free to use, and private. Your meeting transcripts, call recordings, and summaries never leave your computer.

As small OSS models have gotten faster and more powerful, Yogurt seemed like a pretty obvious win for privacy and cost conscious folks. You do not need a frontier model to summarize meeting notes or answer questions about them. And if you want to make your notes available to a frontier model, you can just share it with Anthropic, OpenAI, etc. directly via Yogurt’s local MCP server. There’s no need to use a paid cloud service as a middleman.

I tried some of the most popular OSS note taking tools, and most were missing features like calendar integration, MCP server, etc. or required you to connect or create an account. And more than that, they didn’t feel polished enough for it to be something I actually wanted to use daily, and so I built Yogurt to scratch that itch. I spent a lot of time fine-tuning every UI interaction/animation and optimizing the model calls to get the most out of your hardware + make it snappy.

To support Windows/Mac/Linux, I decided to go with Electron. I use whisper.cpp for transcription and Apple’s on-device SpeechAnalyzer if your system supports it. For call summaries and questions, I use a local open weight LLM that automatically gets downloaded and set up based on what your hardware can handle without your cooling fans firing off like crazy (this part uses llama.cpp).

I’ve spent a lot of time working on details like echo detection/reduction, global/folder/local level search respectively, and auto-end recordings. Hope this is useful for any of you who have held out on using AI note tools for privacy or cost reasons, or for folks using cloud tools who want to switch to something free and open source that still feels great to use.

Would love to hear what you think about the onboarding and note taking experience :)

115 comments

[ 0.21 ms ] story [ 143 ms ] thread
Been waiting for this for so long. very cool product
User created 1 hour ago XD
(comment deleted)
looks amazing! if you used AI coding agents to build this, any reason why you couldn't refactor this to use gpui or rune to still get cross platform but have better performance?
We wanted to leverage the React ecosystem to get the UI we wanted, so went with Electron.
oh, interesting. you mean you tried the other frameworks but decided against them because you couldn't achieve the desired user interface with their constructs?
The name reminds me of the line in Spaceballs:

"Yogurt!? Yogurt! I hate yogurt! Even with strawberries!"

Lives up there rent free.
Hmm... granola is usually yummy with yogurt.
I made something like this myself but because I didn't want anyone to know I was doing it, no bot in the call, I couldn't diarise the notes. I have what's been said, but not who said it. Did you manage to solve this?
I managed to solve this with my similar open source tool, including remembering "voices" across multiple sessions.. though I wouldn't say this is amazingly effective. It's not as good as when your call provider clearly knows which person is speaking, but it's largely been good enough.

Source code is here if you want to have an agent take a look: https://github.com/robgough/dictator/

If you have the audio, models should be able to pick out who's who. Easier if everyone present themselves obviously.

My vibeslop tries to do it - I'm checking if I can just opene the code (it's python, so it's not exactly closed) - but even just going by the interface I think you get the idea:

https://hypertekst.net/steno/

I also got frustrated with Granola earlier this year and have been building my replacement - Noted: https://takenoted.com/

It shares similar principles but is (currently) closed source and mac-only.

Take a look at anarlog as well - it's a great project and I wish I'd found it earlier as I probably would have contributed instead of starting my own: https://anarlog.so/

Let me know if you want to compare notes - I am sure we have hit a lot of the same issues.

Compare notes ha :) I tried Anarlog and still wanted to build Yogurt for personal use. But the more open source options the better.
This looks absolutely incredible! Thank you!
Is it possible to choose which model or models are used for transcription? Are other languages, such as French, supported?
Gonna give this a try! I too stopped all the other subscriptions and have been looking for something that works well.
I’ll add it to my open-source directory[0].

How does it differ from Muesli[1] and OpenOats[2]?

0. https://opensource.builders/alternatives/granola

1. https://github.com/pHequals7/muesli

2. https://github.com/yazinsai/OpenOats

(comment deleted)
It's at least not limited to macs
I'd also like to mention Steno - I particularly like how you can create different summarization templates (prompts) for each recording, which allows me to leverage it for things such as therapy sessions and voice journaling.

https://github.com/stenolabs/stenoai

There’s also FluidVoice
I have FluidVoice’s main proprietary alternative as SuperWhisper. Granola seems to be coming into that territory as well.
For starters, OP's project supports Windows and Linux, in addition to MacOS. Muesli and OpenOats only support Mac from what I see?

That's just scratching the surface, I have never used any of these apps including others referenced in this thread.

Time to start working on gruel! Please sir may I have some more? Plus the assumption that it is slop can be well founded (no reflection on the possibility fine products above)
Nice list, thanks for assembling it!

I noticed that Muesli's star count on your list doesn't match what's in Github (~300 vs 1.6k), do those update regularly?

I thought about wiring up GitHub’s API to show live star counts but wanted to avoid too many network calls. The star count is from when I added it to the database.
Muesli is great! I've used it daily for several months and haven't had any serious issues. You can set it to trigger a custom script when it completes a meeting transcription, which I use to move the transcriot to my obsidian vault and trigger some more work. Also just added some local diarization, via one if the modeks, that is actually usable so I stopped having to send important transcripts to assemblyai for accurate diarization.
Enable transcription and at the end summarize it, and those are your notes. Anything critical, pressing, or deserves immediate attention, you write it down. That’s it! Not sure why there are so many apps redoing it over and over again in a very similar way.

Yogurt team - congratulations on your launch. I am not throwing a wrench at you. Those are my thoughts about this category in general.

How does this compare to OpenWhispr and similar apps?
The electron use is giving me pause. It’s going to eat up memory.
So will the local models.
Great work! Personally would love the option to skip out on some of local model post processing features or optionally offload it to openrouter, the summarization steps and the ask feature eat up tons of resources.
Makes sense. Will add support for that soon.
"Private AI meeting notes. Free and open source"

... for those that not initiated and don't want to be nerd sniped. I wish Hackernews allowed a concensus changing of post titles to add missing contect.

Great job! It's refreshing to see something not limited to Macs/Apple Silicon.

When starting out, did you consider:

- Handy, either forking it or adding PRs?

- If you disliked the Handy UI, what about the choice of backend? Did you look into RealtimeSTT? The author is really serious about ASR and transcription

There are a 1000 Mac ASR and transcription projects, so it's really refreshing to see something that others outside the Mac garden can use - my worry is that by not reusing more mature foundations, you end up taking too much of a burden and burn out. The non Apple Silicon space needs more projects like these!

Handy was the first one I tried after I got a lot of reports that it was good quality, but I was unable to ever have it work on my Linux machine properly. The primary problem, I think, was related to hardware detection because it just ran forever, even on short snippets of audio. Thirty seconds of talking would take a minute to process.

I tried to troubleshoot a little bit and see if I can see any error messages, but after trying several models and upgrading and fiddling with things, I never had any luck.

There is an HN post about a project called Sayso that I tried a few weeks back, and that just completely fixed the situation, so I've been using that ever since, both on Mac and Linux.

https://github.com/watzon/sayso/releases

I like Yogurt, though, because it's also running on both Mac and Linux, and it has the summarization feature, which is kind of nice. It had a bug yesterday when it was first released that had it failing on Linux for me, but the author fixed it last night and cut a new release, and that's working for me.

readme could use the details from this post tbh. also is the local mcp server auth’d somehow or can any local app read the transcripts?
This made me curious as well, so I took a look at the source. Not seeing a token or handshake. Looks like on macOS and Linux it listens on a unix socket in the profile chmod'd 0600, and one Windows it's a randomly named pipe with the name written into the profile folder.
It's a lot of fun to see what people can do with the voice transcription tools available now that are all open source.

I've been building my own Jarvis, and I still haven't built my own meeting mode for him yet, though it's on the trajectory. I may borrow some ideas from this.

I really like the filter for the whispered, hallucinated words that Whisper sometimes hears, like, "Thanks for watching," when it's silent. That's cool.

I do a similar splitting of speech, but I think a slightly different mechanism. So I'll have to take a look at how well yours works.

And, I'm not checking the loudness of the mic and the computer audio to figure out when the speaker output is leaking. That's nice.

If there was anything I would add to yours, it would be diarization on the same inputs. So the room mic might have two or three people behind it, and to have diarization for that to know who is talking at any one time would be probably helpful. I use NVIDIA's Nemotron on the Mac. https://huggingface.co/nvidia/Nemotron-3-Diarization

And, I have enrollment for voices with speaker embeddings using this: https://github.com/wenet-e2e/wespeaker

Yeh echo detection is clutch. Definitely borrow some parts. Would love to solve same room voice assignments - haven’t seen ah great solutions for that yet.
I live in a two party consent state and have yet to pull the trigger on an AI transcription service. Yogurt is the first appropriate implementation of the service in my opinion, both for personal privacy and to limit potential issues if Granola or similar service gets hacked and transcriptions go public.

I appreciate that you included a default warning for the owner to let everyone on the call know they are being recorded. It might be ideal to take that a step further and have the popup occur again if another party joins the call and should also be notified of the recording.

Does yogurt support proper diarization? Can’t seem to find confirmation.

Also, what’s the current best STT model? Apple’s dictation model isn’t good which is one big reason why I don’t use STT much.

Support both (diarization on Mac)