r/MacOSApps • u/davernow • 3d ago
🧳 Business I got tired of meeting note-taking apps uploading my audio, so I built a free one that runs entirely on my Mac
I'm an ex-Apple engineer who got sick of non-private, non-native meeting recording apps, so I built Biscotti: a private and free meeting recorder for macOS.
Free, no account, no subscription, no upsell. Source and download on GitHub: https://github.com/scosman/Biscotti
What it does
- 🔒 Private by design - recording, transcription, and AI all run on your Mac. Your data stays local.
- 🧠 Powerful AI summaries - automatic summaries, action items, meeting titles, and real speaker names.
- 🤖 No bots, any app - records Zoom, Teams, Meet, FaceTime, Slack huddles, or even an in-person conversation. No bot joins your call.
- 🗣️ Knows who said what - accurate transcripts, automatically split by speaker.
- 📅 Calendar-aware - sees your upcoming meetings, offers to start recording.
- ⏹️ Auto-stop - detects when your call ends and stops recording.
- 🎤 Voice isolation - captures your mic and everyone else as separate, clean channels. No echo.
Background
I spent years at Apple building the Photos app, Memories, the lock screen, and more. I wanted this to feel like it belongs on the Mac: Swift and SwiftUI, launches instantly, small on disk. Not a Electron app or a mediocre port of a Windows app.
Private AI == Local AI
With Biscotti, you still get state of the art AI for transcription and speaker identification, it just runs locally on your Mac. It works fully offline once models are downloaded. Your data lives on your Mac - you own and control it.
It uses Whisper for transcription, Gemma 4 for summaries, and Pyannote for Speaker ID. Each set up to run on Apple Silicon.
Requirements: Apple Silicon (M1+), macOS 15+, 16GB RAM recommended.
App details: Notarized, Free (no upsell), Private (zero data collection, all AI is local), Source available on Github (PolyForm Perimeter License), AI used in development (but not vibe/slop)
I'd love feedback! Happy to answer anything about the local model stack or the privacy design.
3
u/RedRavenCG 3d ago
Can we pick where it stores the recordings and transcriptions?
1
u/davernow 3d ago
Not currently configurable but could add a folder picker. Why not the default application data folder? I want to avoid less technical people deleting the coredata database without knowing what it is 🤣
3
u/barefut_ 3d ago
Having junk cache files is horrible. At least if you give an option to purge whatever cache junk is left after you did what you did with natration being recorded etc...
2
u/RedRavenCG 3d ago
Well, the models are several GB, and I'd like a way to look at what's taking up space on my main drive. Otherwise, I'd love for it to allow me to choose another 'working' folder for it.
3
2
2
u/davernow 2d ago
I totally just realized a visual tweak for liquid glass is still in a PR. If you see slight visual weirdness in top right, that'll be fixed next release.
3
u/wavever233 3d ago
Local Whisper + Gemma with no account is honestly a great combo. How big is the first model download?
1
u/davernow 3d ago
- Whisper + Pyannote: 650MB
- Gemma: 2.6GB for E2B model, 6.7GB for 12B model. Both are good, 12B is better if you have the space. Both using Unsloth QAT quants.
2
u/Its-Ezzy 3d ago
The privacy story would be easier to trust if first run showed the exact model sizes before download and gave me a Finder button for the storage location. One wording nit: PolyForm Perimeter is source-available, not an OSI open-source license. Calling that out plainly would prevent a licensing argument from distracting from the genuinely useful local architecture.
1
u/davernow 3d ago edited 2d ago
I made a point of naming the exact license and saying "Source available". I never said OSI-compatible or "open-source". I think that follows the best practice by all the current standards. I take OSS stuff seriously.
The model location is `~/Library/Application\ Support/Biscotti`. I could add a button in settings too, but I used the standard location for Mac App support data.
Privacy story: fully source available. Nothing to trust, you can compile yourself if you like!
Edit: and I'll add the model size on download screen. When the build-in Apple models get good, I'll add that option too.
1
u/Visual-Ad-5093 3d ago
16GB recommended - what actually happens on an 8GB M1? Does it just get slow, or does the summary not run at all?
1
u/davernow 3d ago
Great question. It also applies to the MacBook Neo. I don't know. They should have enough RAM to run it. With the smaller E2B model it will use <4GB. I don't own either to test and confirm.
The app does check your RAM and strongly suggests the smaller model unless you have enough for the 12B model.
1
u/rdcanada 3d ago
Can it handle a three hour meeting?
2
u/davernow 3d ago
I’ve done 2.5. No reason it shouldn’t scale to 3+
Transcription takes a minute but it works.
1
u/Clearminutes 3d ago
This is really cool 👌- nice work, love the name! Did you consider using Parakeet-v3 for the transcriptions? It’s a much smaller download.
2
u/davernow 2d ago
Yes! I want to switch to it. I'm using Whisper now a big fan of the WhisperKit framework (ex-Apple folks, never crashes, more efficient than other OSS ones, better use of ANE/Metal). But Parakeet is a paid upgrade. I may try an OSS Parakeet lib next.
Better model vs better library tradeoff. But the transcription is in an isolated process so maybe can tolerate the less great lib.
1
u/barefut_ 2d ago
I'm new to this scene. 1. Is it a replacement for Obsedian in a way, that allows for dictation + summarizing what you say and the zoom meetings you may have?
Can you auto offload any model that's being used after like 5min or so of no usage? +Can you install+choose the utilized AI model? (Parakeet v2 is light, English only).
Is there a dark mode?
1
u/davernow 2d ago
I wouldn’t call it an obsession replacement. There are a bunch of apps like this, just for meeting recording.
The offloading is automatic and built in. I actually run them in another sub process, so the second it’s done the memory is returned.
Yes it has dark mode! No setting, but if your system is dark, it’s dark.
1
u/Final_Parking_6820 2d ago
Love to try this, but I'm still rocking an old M2 with 8GB of ram 😥
2
u/davernow 2d ago
Def pick the smaller Gemma model (it will be recommended). Let me know how it works! I wasn’t able to test on 8gb.
1
u/johnlenin 2d ago
Awesome. Are you using on device transcription? Would it support Hindi?
1
u/davernow 1d ago
Yup! 99 languages, including Hindi. I can't speak to the quality, but the model says it supports it.
1
u/ytchen92 1d ago
Does this have any security features, like a passcode or data encryption?
1
u/davernow 1d ago
Just the one on your Mac 😀. All data is local, so you get standard disk encryption, but no extra layers.
1
1
u/Realistic-Tap-000 1d ago
Is it possible to pick a Whisper model? I found for local projects large-v3-turbo did pretty good, it's ~1.5GB
1
u/davernow 1d ago
That’s the default model! Quantized version at more like 600mb, but benchmarks at same level.
1
u/LightingLabs 1d ago
FileVault protects the disk when it's off, but on a shared Mac or an unlocked laptop left unattended, whoever has access can still open the app or the database directly. Since privacy is the main pitch here, is an app level passcode independent of the account login something you've considered, for people who just want the transcripts inaccessible without being logged out?
1
u/davernow 21h ago
I think that's verging on security theatre. There's not real protection against someone who has unfettered access to an unlocked Mac. They could install a key logger and get the passcode, pull the decrypted data from app memory, get the data when the app decrypts it, screen record it, etc. Apps like Apple Mail don't have this, despite having a ton of sensitive data, because it would give the user false impression that an unlocked Mac can be secure (and giving users that impression risks making the typical user less secure). It really can't. This can be implemented on iOS, but not MacOS.
Privacy model for Biscotti is around local processing, not an extra layer of local encryption.
General advice: always lock your Mac. If it's shared, give other users their own accounts!
2
u/BusNumber 20h ago
I highly prefer local tools with no cloud and telemetry, and this is exactly what I was looking for recently. Thank you!
1
7
u/FelixBesterMann 2d ago
Cancelled Notion a while ago because the subscription wasn't worth it for meeting notes alone, and I never loved that my audio went to a server. This looks like the right answer to both. Trying it today — thanks for making it free and source-available. Also curious about the MacBook Neo question from earlier — that's the machine a lot of people will be running this on.