Meetily Project Goals: Privacy-First AI Meeting Automation
Meetily is built to deliver a privacy-first, AI-powered meeting assistant that captures, transcribes, and summarizes meetings entirely on your local machine, ensuring sensitive audio and transcript data never leaves your device.
Meetily is an open-source meeting automation tool developed by Zackriya Solutions. The core Meetily project goals center on eliminating cloud dependencies while providing professional-grade transcription and summarization capabilities. By leveraging a Tauri-based architecture (Rust + Next.js) and local AI models, Meetily ensures complete data sovereignty for users who cannot risk leaking confidential meeting content to third-party services.
Complete Data Sovereignty
The foundational goal of Meetily is keeping all meeting data on the user's machine. According to the project's README, Meetily "captures, transcribes, and summarizes meetings entirely on your local machine"【^1†L69-L73】, meaning no audio streams, transcripts, or AI-generated summaries are transmitted to external APIs or cloud storage.
This local-only approach is enforced through:
- Local SQLite database for meeting metadata and transcripts (
frontend/src-tauri/src/database/). - On-device AI inference using locally-hosted Whisper and Parakeet models for transcription.
- Offline-capable LLM integration via Ollama or other local endpoints, avoiding network calls for summary generation.
Real-Time Local Transcription
Meetily targets real-time speech-to-text processing without relying on cloud transcription services. The docs/architecture.md file identifies a dedicated Transcription Engine【^2†L39-L40】 that processes mixed audio streams through local models.
The implementation supports multiple transcription backends:
| Engine | Location | Purpose |
|---|---|---|
| Whisper | frontend/src-tauri/src/whisper_engine/ |
OpenAI Whisper local inference for high-accuracy transcription |
| Parakeet | frontend/src-tauri/src/parakeet_engine/ |
Alternative optimized transcription engine |
Both engines run entirely on-device, processing audio captured in real-time from microphone and system sources.
AI-Driven Meeting Summaries
Beyond transcription, Meetily generates structured meeting minutes using the Summary Engine【^2†L41-L42】. This component processes completed transcripts through local or remote LLMs to extract action items, key decisions, and concise summaries.
The summary system offers flexible AI provider support, allowing users to configure:
- Ollama for completely local inference
- Claude, Groq, OpenRouter, or any OpenAI-compatible API endpoint
When using remote providers, only the transcript text (not raw audio) is sent, and users retain full control over which provider—if any—they trust with their data.
Cross-Platform GPU Acceleration
Performance optimization across diverse hardware is a critical project goal. Meetily automatically detects and leverages hardware acceleration to ensure real-time transcription remains responsive:
- Apple Silicon: Metal/CoreML support for M-series chips
- NVIDIA GPUs: CUDA acceleration for Whisper inference
- Vulkan: Cross-platform GPU compute support for Linux and Windows
This acceleration applies to both the transcription pipeline and local LLM inference, making the privacy-first approach practical for everyday use.
Professional Audio Engineering
Meetily aims for broadcast-quality audio capture through dual-stream processing (microphone + system audio). The frontend/src-tauri/src/audio/pipeline.rs module implements intelligent ducking and clipping prevention, ensuring clear recordings even when multiple participants speak simultaneously.
The audio pipeline mixes both sources into a single stream optimized for speech recognition, handling "intelligent ducking and clipping prevention"【^1†L82-L85】 to maintain transcription accuracy.
Implementation: How Meetily Achieves These Goals
Starting Local Recording Sessions
The Tauri backend exposes native recording capabilities through commands registered in frontend/src-tauri/src/lib.rs. The frontend invokes these commands to initiate capture:
import { invoke } from '@tauri-apps/api/tauri';
async function startMeetingRecording() {
try {
await invoke('start_recording_with_devices_and_meeting', {
mic_device_name: 'Built‑in Microphone',
system_device_name: 'BlackHole 2ch',
meeting_name: 'Team Stand‑up',
});
console.log('Recording started');
} catch (e) {
console.error('Failed to start recording', e);
}
}
The corresponding Rust command start_recording_with_devices_and_meeting is defined in frontend/src-tauri/src/lib.rs【^3†L6-L13】【^3†L86-L92】, handling device selection and pipeline initialization.
Audio Device Discovery
Before recording, the application lists available input devices through the get_audio_devices command:
import { invoke } from '@tauri-apps/api/tauri';
async function listAudioDevices() {
const devices = await invoke('get_audio_devices');
console.table(devices);
}
On the Rust side, this command forwards to audio::list_audio_devices()【^3†L84-L90】, enumerating system audio sources for user selection.
Generating AI Summaries Locally
The summary workflow demonstrates how Meetily processes transcripts without external dependencies when using local LLMs:
use tauri::Manager;
#[tauri::command]
async fn generate_summary(app: tauri::AppHandle) -> Result<String, String> {
// Calls the summary engine (wraps Ollama, Claude, etc.)
summary::commands::api_process_transcript(&app, /* transcript ID */ 1).await?;
let summary = summary::commands::api_get_summary(&app, 1).await?;
Ok(summary)
}
These commands (api_process_transcript and api_get_summary) are exposed via frontend/src-tauri/src/lib.rs【^3†L61-L66】, interacting with the summary engine under frontend/src-tauri/src/summary/ to generate meeting minutes using the configured AI provider.
Summary
Meetily's project goals deliver a self-contained meeting workflow that respects user privacy and maintains high performance:
- Zero-cloud architecture: All audio, transcripts, and AI processing remain local by default
- Real-time transcription: Whisper and Parakeet engines run on-device with GPU acceleration
- Flexible AI integration: Support for Ollama (local) or remote LLM providers via configurable endpoints
- Professional audio: Dual-stream capture with intelligent mixing and ducking via
audio/pipeline.rs - Cross-platform support: Native acceleration for Apple Silicon, NVIDIA CUDA, and Vulkan hardware
Frequently Asked Questions
Does Meetily send my meeting data to the cloud?
No. By default, Meetily operates as a completely local application. Audio capture, transcription, and summarization occur on your machine using local models (Whisper/Parakeet) and local LLMs via Ollama. The README explicitly states that Meetily captures and processes everything "entirely on your local machine"【^1†L69-L73】.
Which AI models does Meetily use for transcription?
Meetily supports local transcription through OpenAI Whisper and Parakeet models, with implementations located in frontend/src-tauri/src/whisper_engine/ and frontend/src-tauri/src/parakeet_engine/ respectively. These models run locally on your hardware without requiring internet connectivity or API keys.
How does Meetily handle different hardware configurations?
Meetily automatically detects available hardware acceleration across platforms. It supports Metal/CoreML on Apple Silicon, CUDA on NVIDIA GPUs, and Vulkan for cross-platform GPU compute. This ensures efficient real-time transcription regardless of whether you're running on a MacBook Pro, Windows workstation, or Linux machine.
Can I use Meetily with my existing cloud AI providers?
Yes. While designed for privacy-first local operation, Meetily offers flexible AI provider support through the summary engine. You can configure endpoints for Claude, Groq, OpenRouter, or any OpenAI-compatible API in the application settings. When using these providers, only the transcript text (not audio) is transmitted, and you maintain full control over which services to trust.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →