
Meet2Notes — open-source, local AI meeting assistant with transcription, diarization, RAG, live AI and webhooks
Hi everyone — I’m the sole developer of Meet2Notes, an MIT-licensed open-source meeting assistant currently in alpha.
The goal is simple: provide a local-first meeting workspace for recording, transcription, speaker separation, AI notes, historical search and live AI assistance, without requiring a subscription or sending all meeting data to a third-party SaaS.
What Meet2Notes can do
Meet2Notes currently supports:
- Recording microphone and system/desktop audio
- Importing existing audio or video files
- Live transcription during the meeting
- A separate higher-quality final transcription pass
- Speaker diarization
- Saved voice profiles and speaker recognition across meetings
- Structured AI meeting notes
- Local historical RAG across one meeting or the complete meeting library
- Asking questions about meetings with timestamped source excerpts
- An optional Live AI Assistant
- Local API access
- Live and post-processing webhooks
- External AI agent suggestions during meetings
Meet2Notes records the audio available on your computer, so there is no bot that needs to join Zoom, Teams, Google Meet, etc.
Fully local setup
A completely local setup is possible.
Recordings, transcripts, speaker data, AI notes, embeddings and RAG data can all remain on your machine.
Meet2Notes stores meeting data in a local SQLite workspace and supports local AI models for the different processing stages.
Remote AI providers are optional.
If you configure Ollama, LM Studio, LiteLLM or another OpenAI-compatible endpoint, Meet2Notes can use that instead.
API credentials are stored through the operating system keyring rather than in the application database or browser storage.
Selectable transcription engines
One of the main design decisions was not tying the application to a single transcription model.
Live transcription and final transcription are configured independently.
For example, you could use a lightweight model during the meeting and then run a slower but more accurate model afterwards.
Current transcription options include:
- Faster-Whisper
- NVIDIA Parakeet TDT 0.6B v3
- NVIDIA Nemotron 3.5 ASR Streaming 0.6B
- Microsoft VibeVoice ASR BitNet as an experimental CPU-oriented option
With Faster-Whisper, several model sizes are available, including Tiny, Base, Small, Medium, Large-v3, Distil-Large-v3 and Large-v3-Turbo.
Speaker diarization and recognition
Transcription and diarization are separate stages.
Current diarization options include:
- Sherpa-ONNX
- Pyannote Community-1
diarize
After diarization, speakers can be renamed and voice samples can be stored locally.
The idea is that Meet2Notes can eventually recognize that Speaker 2 is actually the same person you already identified in previous meetings.
There is also a dedicated Speakers workspace where you can inspect a speaker's meetings, generate speaker-specific summaries and export their associated text or audio.
AI meeting notes
Meet2Notes can turn the transcript into structured Markdown notes.
There are built-in note formats for different types of meetings, including:
- General Meeting
- Daily Stand-up
- Project Sync
- Sales Call
- Technical Meeting
- Interview
- Lecture Notes
- Brainstorming
- Formal Minutes
Custom formats can also be created.
AI analysis is independent from transcription, so you can choose a separate local model for notes.
Local GGUF models can run through llama.cpp, and external/local-compatible providers can be connected through LiteLLM.
Search your meeting history with RAG
Meet2Notes can build a local searchable index of previous meetings.
You can ask questions about:
- one specific meeting
- the complete meeting library
For example:
- “What did we decide about the API migration?”
- “When did we first discuss Project X?”
- “What action items came up in the last three meetings?”
- “What did Alice say about the pricing issue?”
Retrieved context includes meeting and timestamp information so you can trace the answer back to the original transcript.
The RAG layer can also remain completely local.
Live AI Assistant
Meet2Notes includes an optional Live AI Assistant.
Instead of waiting until the meeting finishes, the assistant can monitor incoming transcript segments and show short insights while the conversation is still happening.
You can define what it should watch for.
For example:
- unanswered questions
- decisions
- action items
- contradictions
- important numbers
- risks
- topics you wanted to discuss
- things that need clarification
The assistant has its own model configuration and worker.
Recording and transcription do not wait for the LLM, so a slow AI response does not block the meeting pipeline.
Live AI agents through webhooks
This is one of the parts I’m most interested in experimenting with.
Meet2Notes can send committed live transcript segments to external systems through webhooks.
That means you could connect it to an internal AI agent with access to your own:
- RAG
- company documentation
- CRM
- project management system
- databases
- internal APIs
For example, someone could ask during a meeting:
>“What did we decide about this feature three months ago?”
An external agent could receive the conversation, query the company knowledge base and send a suggestion back while the meeting is still happening.
The same idea could be used during sales calls, technical meetings, support calls or internal planning sessions.
Webhook processing is isolated from recording and transcription, so network failures or slow external agents do not block the local capture pipeline.
Webhooks include:
- HMAC signatures
- retries
- delivery history
- per-endpoint content controls
- live transcript events
- processing milestones
- optional remote-agent suggestions
Modular architecture
Transcription, diarization, saved-speaker recognition, embeddings, AI notes and the Live AI Assistant are independent components.
Each can have its own:
- engine
- model
- settings
- worker
- lifecycle
This makes it possible to run a lightweight configuration on a laptop or use larger models when better hardware is available.
It also makes adding new transcription, diarization or AI engines easier without rewriting the entire meeting pipeline.
Privacy
Meet2Notes is designed to work without requiring a cloud account.
With a fully local configuration:
- recordings stay local
- transcripts stay local
- speaker voice profiles stay local
- AI notes stay local
- embeddings stay local
- RAG stays local
Nothing needs to leave the computer.
Remote providers are available only if the user explicitly configures them.
Current status
Meet2Notes is still alpha software and under active development.
I’m the sole developer, so I would not yet recommend using it as the only copy of an irreplaceable recording.
Please also make sure you have the appropriate consent before recording conversations.
The project is MIT licensed and contributions, issues and technical feedback are welcome.
GitHub:
https://github.com/estebanstifli/Meet2Notes
I’d be especially interested in feedback from people already using AI meeting tools:
- Which feature matters most to you: transcription quality, speaker attribution, notes, RAG/search, integrations or live assistance?
- Would you use separate models for live and final transcription?
- Is persistent speaker recognition across meetings useful to you?
- Would you connect a live meeting transcript to your own local/internal AI agent?
- What would Meet2Notes need before you would trust it for your real meetings?