Show HN: Yogurt – Free, private, open-source alternative to Granola

github.com

263 points by brownrout 21 hours ago

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.

Here's a quick demo video: https://www.youtube.com/watch?v=BFfbXAwRq98

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 :)

scosman 9 hours ago

Granola, Yogurt... I present Biscotti, yet another OSS meeting recorder. 100% local. Mine is MacOS native UI, no Electron/Tauri.

https://github.com/scosman/Biscotti

  • CodinM 5 hours ago

    Hey, I use this! It's fairly nice and since telling Claude/Codex to use it I basically never think of it.

  • port11 22 minutes ago

    @scosman I’ve demoed it, you did an incredible job. Biscotti is phenomenal!

theturtletalks 19 hours ago

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

  • raphinou 18 hours ago

    It's at least not limited to macs

  • kidfiji 17 hours ago

    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

  • newman314 17 hours ago

    There’s also FluidVoice

    • theturtletalks 10 hours ago

      I have FluidVoice’s main proprietary alternative as SuperWhisper. Granola seems to be coming into that territory as well.

  • antx 16 hours ago

    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.

  • sellmesoap 16 hours ago

    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)

  • wlonkly 11 hours ago

    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?

    • theturtletalks 11 hours ago

      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.

  • timthinks 10 hours ago

    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.

lavendermon 17 hours ago

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.

nonethewiser 16 hours ago

This is totally off topic, but how do people feel about generic names like Yogurt?

I've always sort of assumed it wasnt a good idea because there is collision everywhere (SEO, registries, domain, etc).

  • jonas21 15 hours ago

    My issue is that yogurt is a complement to granola, not a replacement.

    • iguessthislldo 14 hours ago

      I know nothing about these projects, but that was my thought too. I was just checking the comments just to see if I was only one who thought that or if there was some clever context I was missing.

  • xXSLAYERXx 15 hours ago

    As a consumer it doesn't bother me at all and probably the same if I were a provider.

    Also somewhat off topic - I've been getting a ton of spam calls now that I've put my phone number on my google business profile. They are robo calls with essentially the same text: "Don't hang up" and "Please stay on the line".

    My question is: Could we use these same technologies to build an app to detect certain strings and just hand up? Or on my behalf, press 1 and when the scammer - i mean operator - picks up say "Fuck off"????

  • airstrike 14 hours ago

    How do you feel about Apple, Blackberry, Budget or Shell?

    • nonethewiser 9 hours ago

      I think Apple would be a terrible thing to name your new project.

      This supports my intuition that its not a good idea, although I suspect you meant to demonstrate something else.

      Lets clarify something. Generic names aren’t inherently bad. What Im trying to evaluate is how bad it is for any given person to use a generic name for their new project. When its been used 20 times before and you aren’t going to be a billion dollar company.

e12e 11 hours ago

Interesting. Maybe I can Kill one of my vibecoded atrocities now. It was born from similar frustrations - to find a good way to record audio for small meetings on a phone (there are foss options for Android - but I need one tool to recommend; https://github.com/FossifyOrg/Voice-Recorder might be one) - transcription and summation with speaker identification in correct language, support for using list of speaker and agenda to aid transcription - all done locally. Even getting the recorded audio from android to Mac - for example localsend can help).

I didn't tackle all - but a few in a python script wrapped in cosmopolitan libc. Works on Mac, seemingly Linux (Terminal on chromeOS) - possibly windows (laptop just about back from repairs, not tested yet).

It's an experiment - source not open yet - and op is probably better.

But for the curious:

https://hypertekst.net/steno/

jharohit 12 hours ago

congrats! My wife showed me Granola one day and I was horrified on the privacy aspects of it. So I also built something similar but for advanced Super users - Notesy

I have been using for 6 months and just love it (and my wife moved over too!). Uses the Gemini APIs (they are so fast, so cheap and so good!). Now we actually use it within the company as well!

Rolling out wider in Testflight below.

Notesy: https://prairie-petition-enterprises-expressions.trycloudfla...

- keeps the audio file

- custom prompts to modify notes as you want

- transcripts and notes

- batches by people you have talked to

- a master task list

- Sync all files and audio and notes to Google Drive

- Shipping now with our API for testing but you can switch to your own Gemini API in settings!

Uploading the repo shortly on github by this weekend!

More on the privacy features here https://x.com/jharohit/status/2084204163416601026

Other apps we are building on similar lines of privacy and your own data and AI concept:

APP STORE: https://contrast-situated-priorities-leu.trycloudflare.com/

  • yakkomajuri 12 hours ago

    Wait I'm sorry you were horrified about privacy so you went with a Google API?

    I'm really not trying to be a jerk here and this is very cool but I'm not sure it qualifies as privacy-friendly?

    • wilg 12 hours ago

      You are being a jerk though!

    • jharohit 10 hours ago

      1. Google is probably the least evil (ikr!) amongst others at the moment

      2. Yeah the biggest privacy breach is not how they can train on your data but rather the audio, the notes and knowledge graph someone like Granola can have

      3. Your data is your data.

      4. Also code for the app will be open source entirely shortly - so feel free to extend and add a gemma 4 or deepseek 4 flash locally. My goal was maximum freedom while also maintaining top level note quality. Gemini API satisfies both.

lukko 1 hour ago

Thanks for building!

I was thinking of creating a local replacement for Wispr Flow - does this have a hotkey for speech to text?

achrono 16 hours ago

OpenWhispr [1] is one of the earliest in this exact space, and it already supports a greater variety of models than Yogurt. Also supports meeting transcription, summarization, dictation etc. in similar ways as Yogurt.

So, why Yogurt?

1: https://github.com/OpenWhispr/openwhispr

  • rrr_oh_man 14 hours ago

    There can be more than one Italian restaurant in town

mickdarling 17 hours ago

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

  • brownrout 17 hours ago

    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.

rc1 17 hours ago

I’d love to see evals for how similar this is to Granola for meeting summarisation, on the github page

It should be possible given granola stores the transcript and the summary.

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/ChatGPT.

  • brownrout 17 hours ago

    Cool idea. Will see about getting that set up!

Aniket-N 18 hours ago

The electron use is giving me pause. It’s going to eat up memory.

  • rc1 17 hours ago

    So will the local models.

david_shi 7 hours ago

Love this approach to software.

It's mindboggling that in light of all the hacks people will still install keyloggers and apps that take screenshots of your desktop and upload them, especially when alternatives exist.

pkb_98 5 hours ago

Great!!!. When I stared at Granola's privacy terms, I always wanted to check out an alternative. Will check this out!

totetsu 8 hours ago

I just took openai's example app for implementing their whisper api, and vibe coded it to support other providers endpoints, work as chrome extention, and have some file saving etc.. works just fine.

ProblemExplorer 18 hours ago

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!

walthamstow 19 hours ago

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?

  • brownrout 19 hours ago

    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're going to take a recording.

    • Deukhoofd 17 hours ago

      Does that work outside of Mac? I'm only seeing references to that functionality for macOS in the source.

  • robgough 18 hours ago

    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/

  • satvikpendem 17 hours ago

    There are models that can diarize.

  • karlitooo 12 hours ago

    pyannote is how I do it

  • e12e 11 hours ago

    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/

austinhutch 18 hours ago

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 18 hours ago

    Makes sense. Will add support for that soon.

zaius 19 hours ago

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.

  • brownrout 19 hours ago

    Compare notes ha :) I tried Anarlog and still wanted to build Yogurt for personal use. But the more open source options the better.

jgrodziski 14 hours ago

I got frustrated with call note apps too, and also built my own as a native Mac app: https://retranscript.app

I wanted full automation, full customisation of prompts for summary, ideas extraction, etc. and using the best speech-to-text models available (I will also add Apple's SpeechAnalyzer soon for mundane transcription where the best accuracy is not needed).

Once started, Retranscript runs on its own. It notices the call automatically, records all voices with no bot in the meeting. Everything lands as plain files in a configurable folder.

The trade-off is the reverse of Yogurt's: the audio goes to the model you chose instead of staying on your Mac. With your own keys it goes straight to the provider on openrouter, and nothing passes through my server. There's no subscription. The app is free, and you pay for the models, at the provider's price with your own key or with prepaid credits. It's closed source for now (will release as open-source in the future), and Mac-only.

Congrats on the launch, it's good to see so many people exploring this space, each with a different take on it.

mandeepj 19 hours ago

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.

kokugle 21 hours ago

Been waiting for this for so long. very cool product

  • exaroth 19 hours ago

    User created 1 hour ago XD

ayaros 12 hours ago

A processed dairy product is not an alternative to a mixture of grains, nuts, and seeds. That's comparing apples to oranges. Sometimes I wish we could go back to the 60s and 70s when every program name was an acronym or a single letter.

shireboy 14 hours ago

Just tried it on a teams call and it did great transcribing and summarizing. It didn’t pick up the other speaker’s name though. Still I’ve been wanting something like this a while

newman314 17 hours ago

Does yogurt support proper diarization and multilingual? 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.

  • brownrout 17 hours ago

    Support both (diarization on Mac)

pruneau 19 hours ago

Is it possible to choose which model or models are used for transcription? Are other languages, such as French, supported?

  • brownrout 19 hours ago

    Other languages yep. Model is automatically chosen and downloaded based on what your computer's hardware can support.

    • pwython 17 hours ago

      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.

hvvivek 19 hours ago

Gonna give this a try! I too stopped all the other subscriptions and have been looking for something that works well.

  • brownrout 19 hours ago

    Awesome. Hope this can fill that gap for you.

ayyagari-testre 11 hours ago

Recently, n8n has launched Nod, which can be configured as an open-source alternative to Granola.

iamwil 18 hours ago

Currently using OpenWhispr. What is the difference between the two?

anoojb 20 hours ago

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?

  • brownrout 19 hours ago

    We wanted to leverage the React ecosystem to get the UI we wanted, so went with Electron.

    • anoojb 17 hours ago

      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?

kpozin 18 hours ago

How does this compare to OpenWhispr and similar apps?

andy_ppp 19 hours ago

This looks absolutely incredible! Thank you!

  • brownrout 19 hours ago

    Glad you like! Lmk what you think once you try it.

yevmiyeci 17 hours ago

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 17 hours ago

    btw as a turk i put yogurt on basically every meal :D

    • brownrout 17 hours ago

      True. Turkish yogurt so good.

  • MSP_Logic 42 minutes ago

    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.

paul_h 18 hours ago

"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.

vad_n__ 19 hours ago

Hmm... granola is usually yummy with yogurt.

  • brownrout 19 hours ago

    Both healthy, delicious options ;)

BizarroLand 19 hours ago

The name reminds me of the line in Spaceballs:

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

  • brownrout 19 hours ago

    Just in time for Spaceballs 2

insane_dreamer 10 hours ago

looks great! my only concern is that the others on the call don't realize that it's being recorded (which as much as I'm not a fan of Google's offering, at least it does ensure everyone knows the call is being recorded)

  • jillesvangurp 3 hours ago

    This is a legal concern in some places (like Germany). In many places recording without consent is illegal. But on the other hand, you should at this point assume that this may be happening regardless as you simply can't exclude the possibility. The best thing is to just be open about it if you want to record and assume you are being recorded otherwise.

    Some of the tricks that big companies use to avoid being recorded, like forcing everyone to use their MS Teams or whatever else they use of course don't work. And if you go into a situation where you might have lawyers demanding and getting access to documents, you might want to think twice about having any transcripts of certain meetings. Those could be used against you.

    But on the other hand, it's very annoying to have meetings without transcripts these days. They really help staying organized if you do a lot of calls. I get involved in a lot of sales and other business calls and a lot of the prep work for those involves figuring out the basics of who am I talking to, what's our history with this contact and what did we discuss before, etc. Having full context with transcripts enables concise briefings, quick follow ups, etc.

    The reality here is of course that many people are going to end up using AI to record, translate, summarize, and analyzing more or less 24x7. This is becoming so cheap and easy that there's no technical reason to go offline by default. You might still want to for very confidential meetings or personal reasons. But there are going to be lots of people around you that will make different choices.

    Reflecting on my own situation, I could definitely benefit from a diligent always on note taking personal assistant that translate any off the cuff remarks, encounters, casual conversations, etc. into actionable things. A lot of that is lost in the moment with me. I'm too chaotic to do this myself. Also, I can't multi task all that well. Writing and listening at the same time is hard for me. Especially when I also am trying to participate in a meeting (which adds thinking and talking to the task load).