Like a lot of people, I love Granola and use it every day. The onboarding experience, the numerous delighters, the flourishes and the way it just works are all testament to the quality bar you can clear with an Electron app given enough care and expertise. It was the first app I'd ever used which recorded system audio on Mac without recording video too, which sparked a year-long obsession with Apple's Core Audio taps API, led to me creating an open source Swift library which makes that API easier to use, and won me several bits of fascinating freelance work.
One thing I've never loved is that everything passes through and only exists on someone else's servers. Every frame of audio - from your mic or other speakers on your call - goes through one of the SOTA realtime ASR providers. Your transcript and notes presumably pass through a frontier cloud LLM, and your summaries live on Granola's servers. There are lots of upsides to this: the transcription speed and quality are unmatched, the summarisation is awesome, and your meeting notes sync across all your devices, though all at the cost of privacy.
I've been building up my toolkit in this space for a while: System Audio recording, custom notification windows, Acoustic Echo Cancellation, automatic meeting detection - different parts of the puzzle I've slowly pieced together over the past year or so. Recently discovering FluidAudio[1] finally let me build something I've wanted for a while: an app which privately transcribes your meetings in realtime, captures both sides of each call, and stores and summarises entirely on device. It's called talat[2], and I launched an early pre-release version last week.
It's a Tauri app, which means the download size weighs in at 20MB. It's also a commercial project - I'm self-employed and need to make a living - but I hope even in the day and age of AI-commoditised software, there's enough in the app today and the direction of travel to justify the one-time purchase cost. While default-private is important, so is empowerment, so it lets you configure almost everything, including whether you want to use a different on-device or cloud LLM for summarisation.
Lots of stuff needs improvement. Speaker diarisation is pretty rough. The app is macOS only and needs an M-series chip due to its use of the ANE for transcription. Local LLM summarisation (Qwen3-4B-4bit is the default) can be hit and miss, though in truth the more I use talat, the less I care about summarisation and the more I care about the transcript simply being there, ready to refer back to later as and when I want to.
I'd really value your feedback, and I'd be delighted to answer any questions. The implementation was hugely accelerated through Claude Code, but the architecture, the design patterns, and all the little hard-won pieces of the puzzle mentioned earlier are entirely human. You don't need an account to use it, and there are no in-app analytics tracking what you're up to.
[1] https://github.com/FluidInference/FluidAudio [2] https://talat.app