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.<p>Here&#x27;s a quick demo video: <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=BFfbXAwRq98" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=BFfbXAwRq98</a><p>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.<p>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.<p>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&#x2F;animation and optimizing the model calls to get the most out of your hardware + make it snappy.<p>To support Windows&#x2F;Mac&#x2F;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).<p>I’ve spent a lot of time working on details like echo detection&#x2F;reduction, global&#x2F;folder&#x2F;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.<p>Would love to hear what you think about the onboarding and note taking experience :)

Comments are read-only. Visit Hacker News to participate in the discussion.

rc1 21 minutes ago | 0 points
I’d love to see evals for how similar this is to Granola for meeting summarisation, on the github page<p>It should be possible given granola stores the transcript and the summary.<p>Granola has been such a fantastic sticky product for me given how simple it is: guaranteed a good summary, and a MCP that is a couple of clicks to setup with Claude&#x2F;ChatGPT.
brownrout 20 minutes ago | 0 points
Cool idea. Will see about getting that set up!
mickdarling 1 hour ago | 0 points
It&#x27;s a lot of fun to see what people can do with the voice transcription tools available now that are all open source.<p>I&#x27;ve been building my own Jarvis, and I still haven&#x27;t built my own meeting mode for him yet, though it&#x27;s on the trajectory. I may borrow some ideas from this.<p>I really like the filter for the whispered, hallucinated words that Whisper sometimes hears, like, &quot;Thanks for watching,&quot; when it&#x27;s silent. That&#x27;s cool.<p>I do a similar splitting of speech, but I think a slightly different mechanism. So I&#x27;ll have to take a look at how well yours works.<p>And, I&#x27;m not checking the loudness of the mic and the computer audio to figure out when the speaker output is leaking. That&#x27;s nice.<p>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&#x27;s Nemotron on the Mac. <a href="https:&#x2F;&#x2F;huggingface.co&#x2F;nvidia&#x2F;Nemotron-3-Diarization" rel="nofollow">https:&#x2F;&#x2F;huggingface.co&#x2F;nvidia&#x2F;Nemotron-3-Diarization</a><p>And, I have enrollment for voices with speaker embeddings using this: <a href="https:&#x2F;&#x2F;github.com&#x2F;wenet-e2e&#x2F;wespeaker" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;wenet-e2e&#x2F;wespeaker</a>
brownrout 19 minutes ago | 0 points
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.
theturtletalks 2 hours ago | 0 points
I’ll add it to my open-source directory[0].<p>How does it differ from Muesli[1] and OpenOats[2]?<p>0. <a href="https:&#x2F;&#x2F;opensource.builders&#x2F;alternatives&#x2F;granola" rel="nofollow">https:&#x2F;&#x2F;opensource.builders&#x2F;alternatives&#x2F;granola</a><p>1. <a href="https:&#x2F;&#x2F;github.com&#x2F;pHequals7&#x2F;muesli" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;pHequals7&#x2F;muesli</a><p>2. <a href="https:&#x2F;&#x2F;github.com&#x2F;yazinsai&#x2F;OpenOats" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;yazinsai&#x2F;OpenOats</a>
antx 5 minutes ago | 0 points
For starters, OP&#x27;s project supports Windows and Linux, in addition to MacOS. Muesli and OpenOats only support Mac from what I see?<p>That&#x27;s just scratching the surface, I have never used any of these apps including others referenced in this thread.
kidfiji 53 minutes ago | 0 points
I&#x27;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.<p><a href="https:&#x2F;&#x2F;github.com&#x2F;stenolabs&#x2F;stenoai" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;stenolabs&#x2F;stenoai</a>
blissofbeing 54 minutes ago | 0 points
You should also add <a href="https:&#x2F;&#x2F;biscottiapp.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;biscottiapp.com&#x2F;</a>
newman314 31 minutes ago | 0 points
There’s also FluidVoice
raphinou 1 hour ago | 0 points
It&#x27;s at least not limited to macs
lavendermon 44 minutes ago | 0 points
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.<p>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.
QGQBGdeZREunxLe 28 minutes ago | 0 points
&gt; &quot;Backed by Y Combinator&quot;<p>How exactly?<p>Edit: Ah I see the parent company - <a href="https:&#x2F;&#x2F;frigade.com&#x2F;">https:&#x2F;&#x2F;frigade.com&#x2F;</a>
newman314 37 minutes ago | 0 points
Does yogurt support proper diarization and multilingual? Can’t seem to find confirmation.<p>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.
brownrout 13 minutes ago | 0 points
Support both (diarization on Mac)
ProblemExplorer 1 hour ago | 0 points
Great job! It&#x27;s refreshing to see something not limited to Macs&#x2F;Apple Silicon.<p>When starting out, did you consider:<p>- Handy, either forking it or adding PRs?<p>- 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<p>There are a 1000 Mac ASR and transcription projects, so it&#x27;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!
austinhutch 1 hour ago | 0 points
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.
brownrout 1 hour ago | 0 points
Makes sense. Will add support for that soon.
Aniket-N 1 hour ago | 0 points
The electron use is giving me pause. It’s going to eat up memory.
rc1 20 minutes ago | 0 points
So will the local models.
zaius 2 hours ago | 0 points
I also got frustrated with Granola earlier this year and have been building my replacement - Noted: <a href="https:&#x2F;&#x2F;takenoted.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;takenoted.com&#x2F;</a><p>It shares similar principles but is (currently) closed source and mac-only.<p>Take a look at anarlog as well - it&#x27;s a great project and I wish I&#x27;d found it earlier as I probably would have contributed instead of starting my own: <a href="https:&#x2F;&#x2F;anarlog.so&#x2F;" rel="nofollow">https:&#x2F;&#x2F;anarlog.so&#x2F;</a><p>Let me know if you want to compare notes - I am sure we have hit a lot of the same issues.
brownrout 2 hours ago | 0 points
Compare notes ha :) I tried Anarlog and still wanted to build Yogurt for personal use. But the more open source options the better.
mandeepj 2 hours ago | 0 points
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.<p>Yogurt team - congratulations on your launch. I am not throwing a wrench at you. Those are my thoughts about this category in general.
walthamstow 2 hours ago | 0 points
I made something like this myself but because I didn&#x27;t want anyone to know I was doing it, no bot in the call, I couldn&#x27;t diarise the notes. I have what&#x27;s been said, but not who said it. Did you manage to solve this?
robgough 1 hour ago | 0 points
I managed to solve this with my similar open source tool, including remembering &quot;voices&quot; across multiple sessions.. though I wouldn&#x27;t say this is amazingly effective. It&#x27;s not as good as when your call provider clearly knows which person is speaking, but it&#x27;s largely been good enough.<p>Source code is here if you want to have an agent take a look: <a href="https:&#x2F;&#x2F;github.com&#x2F;robgough&#x2F;dictator&#x2F;" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;robgough&#x2F;dictator&#x2F;</a>
satvikpendem 23 minutes ago | 0 points
There are models that can diarize.
brownrout 2 hours ago | 0 points
Yeah Yogurt uses accessibility permissions to grab speaker names from Zoom, Google Meet, etc. But that said, I recommend you let people know if you&#x27;re going to take a recording.
Deukhoofd 47 minutes ago | 0 points
Does that work outside of Mac? I&#x27;m only seeing references to that functionality for macOS in the source.
fmajid 2 hours ago | 0 points
My company uses <a href="https:&#x2F;&#x2F;github.com&#x2F;itskhalil&#x2F;talky" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;itskhalil&#x2F;talky</a>
kokugle 4 hours ago | 0 points
Been waiting for this for so long. very cool product
brownrout 4 hours ago | 0 points
Thanks! Enjoy!
exaroth 2 hours ago | 0 points
User created 1 hour ago XD
hvvivek 2 hours ago | 0 points
Gonna give this a try! I too stopped all the other subscriptions and have been looking for something that works well.
brownrout 2 hours ago | 0 points
Awesome. Hope this can fill that gap for you.
pruneau 2 hours ago | 0 points
Is it possible to choose which model or models are used for transcription? Are other languages, such as French, supported?
brownrout 2 hours ago | 0 points
Other languages yep. Model is automatically chosen and downloaded based on what your computer&#x27;s hardware can support.
pwython 30 minutes ago | 0 points
Can you please add a model selector? I already have gemma-4-26B-A4B-it-QAT-MLX-4bit on my MacBook, and I see Gemma 4 26B is one of the models that will be downloaded automatically for my 64GB machine.
iamwil 2 hours ago | 0 points
Currently using OpenWhispr. What is the difference between the two?
kpozin 1 hour ago | 0 points
How does this compare to OpenWhispr and similar apps?
yevmiyeci 1 hour ago | 0 points
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?
yevmiyeci 1 hour ago | 0 points
btw as a turk i put yogurt on basically every meal :D
brownrout 12 minutes ago | 0 points
True. Turkish yogurt so good.
andy_ppp 2 hours ago | 0 points
This looks absolutely incredible! Thank you!
brownrout 2 hours ago | 0 points
Glad you like! Lmk what you think once you try it.
anoojb 3 hours ago | 0 points
looks amazing! if you used AI coding agents to build this, any reason why you couldn&#x27;t refactor this to use gpui or rune to still get cross platform but have better performance?
brownrout 2 hours ago | 0 points
We wanted to leverage the React ecosystem to get the UI we wanted, so went with Electron.
anoojb 1 hour ago | 0 points
oh, interesting. you mean you tried the other frameworks but decided against them because you couldn&#x27;t achieve the desired user interface with their constructs?
asdfqwertzxcv 2 hours ago | 0 points
Excited to give it a whirl. Great work!
brownrout 2 hours ago | 0 points
Appreciate it!
paul_h 1 hour ago | 0 points
&quot;Private AI meeting notes. Free and open source&quot;<p>... for those that not initiated and don&#x27;t want to be nerd sniped. I wish Hackernews allowed a concensus changing of post titles to add missing contect.
vad_n__ 2 hours ago | 0 points
Hmm... granola is usually yummy with yogurt.
brownrout 2 hours ago | 0 points
Both healthy, delicious options ;)
BizarroLand 2 hours ago | 0 points
The name reminds me of the line in Spaceballs:<p>&quot;Yogurt!? Yogurt! I hate yogurt! Even with strawberries!&quot;
brownrout 2 hours ago | 0 points
Just in time for Spaceballs 2
arjgoel30 3 hours ago | 0 points
Love the name
brownrout 2 hours ago | 0 points
ha thanks - like it too :)