Your local, privacy-first meeting assistant.
Capture system audio, transcribe in real time with Whisper, and chat with AI about your meetings.
Getting Started • Features • How It Works • Roadmap • License
Clueme Meetings is a desktop app that sits alongside your video calls and meetings. It captures your system audio, transcribes everything locally using Faster Whisper, and gives you an AI chat interface powered by Google Gemini to ask questions, get summaries, and extract action items from your meetings -- all in real time.
No cloud transcription. Your audio never leaves your machine. Only the text transcript is sent to Gemini when you choose to chat.
- Real-time local transcription -- Audio is captured via WASAPI loopback and transcribed on-device with Faster Whisper. No data leaves your machine.
- AI-powered chat -- Ask Gemini about your meeting: get summaries, action items, key decisions, or anything else.
- Session management -- Save, rename, and revisit past meetings. Transcripts and chat history persist between sessions.
- Multiple Whisper models -- Choose from Tiny, Base, Small, or Turbo depending on your hardware and accuracy needs.
- Configurable audio devices -- Pick any system audio output to capture from (speakers, headphones, virtual cables, etc.).
- Timestamped segments -- Every transcript chunk is timestamped so you can see exactly when something was said.
| Session List | Live Transcript |
|---|---|
![]() |
![]() |
| AI Chat | Settings |
|---|---|
![]() |
![]() |
- Windows 10/11 (WASAPI loopback is Windows-only)
- uv -- a fast Python package manager. It handles Python installation automatically.
- A Google Gemini API key -- Get one free at Google AI Studio
- NVIDIA CUDA DLLs -- If you have an NVIDIA GPU, you must manually place the following files in
runtime/nvidia/cuda12/in the project root. WARNING: If you have a GPU and skip this step, the program will silently crash!cublas64_12.dllcublasLt64_12.dllcudart64_12.dllcudnn64_9.dllcudnn_adv64_9.dllcudnn_cnn64_9.dllcudnn_engines_precompiled64_9.dllcudnn_engines_runtime_compiled64_9.dllcudnn_graph64_9.dllcudnn_heuristic64_9.dllcudnn_ops64_9.dllzlibwapi.dll
# Clone the repo
git clone https://github.com/Creative-Geek/Clueme-Meetings.git
cd Clueme-Meetings
# Install dependencies (uv will install Python 3.11+ if needed)
uv sync
# Run the app
uv run main.pyFirst launch note:
uv run main.pytakes around 10 seconds to start each time due to Flet's startup overhead. This is normal.
- Open the app and click the Settings gear icon.
- Paste your Google Gemini API key in the API Keys tab.
- Choose your preferred Whisper model (see below) and audio device.
- Close settings, then click Start Listening to begin capturing audio.
Model download: The first time you click "Start Listening," the selected Whisper model will be downloaded. Download sizes:
Model Size Speed Accuracy Tiny ~75 MB Fastest Lower Base ~142 MB Fast Good Small ~466 MB Moderate Better Turbo ~1.6 GB Slower Best
graph LR
A[System Audio] -->|WASAPI Loopback| B[Audio Capture]
B -->|PCM Audio| C[Faster Whisper]
C -->|Transcript| D[Session Storage]
D -->|Context| E[Google Gemini]
E -->|Response| F[Chat UI]
- Audio Capture --
PyAudioWPatchcaptures system audio using Windows WASAPI loopback. No microphone needed -- it records whatever your speakers/headphones are playing. - Transcription -- Audio chunks are fed to
Faster Whisper, which runs locally on your CPU (or GPU if available). Transcription happens in real time. - Session Storage -- Transcripts, chat history, and session metadata are saved as JSON files in
~/.clueme/sessions/. - AI Chat -- When you send a message, the transcript is provided as context to Google Gemini. The AI can answer questions, summarize discussions, and extract key points.
| Component | Technology |
|---|---|
| UI Framework | Flet (Flutter-based Python UI) |
| Transcription | Faster Whisper (CTranslate2) |
| Audio Capture | PyAudioWPatch (WASAPI loopback) |
| AI Chat | Google Gemini via google-genai |
| Package Manager | uv |
Clueme-Meetings/
├── main.py # App entry point; wires state, handlers, views, and UI components
├── src/
│ ├── agent/ # Gemini client, model config, prompts, meeting chat, auto-naming
│ ├── app/ # Page setup and startup state initialization
│ ├── handlers/ # Event handlers for chat, recording, sessions, toolbar, and tabs
│ ├── layout/ # Home/meeting view builders and toolbar layout
│ ├── transcriber/ # Local Whisper and AssemblyAI transcription backends
│ ├── ui/ # Flet UI components for chat, transcript, sessions, and settings
│ ├── config.py # Local configuration management
│ ├── logs.py # TranscriptLog, ChatLog, and Gemini message assembly
│ ├── sessions.py # Session persistence and session list metadata
│ ├── session_context.py # Per-session runtime state and save/load bridge
│ ├── debug_log.py # Optional debug logging utilities
│ ├── native_runtime.py # Native runtime/DLL path setup
│ └── whisper_online.py # Streaming Whisper helper logic
├── assets/ # Logo and icon files
├── docs/screenshots/ # App screenshots
├── references/ # Research notes, prototypes, and external references
├── pyproject.toml # Project metadata and dependencies
└── uv.lock # Locked dependency versions
All user data is stored locally at ~/.clueme/:
~/.clueme/
├── config.json # API keys, preferences, model settings
├── sessions/ # One JSON file per meeting session
│ ├── session_abc123.json
│ └── ...
└── logs/ # Application logs
- GPU acceleration for Whisper (CUDA support)
- Automatic meeting notes and summaries
- Export transcripts to Markdown, TXT, or SRT
- Microphone input support (capture your own voice too)
- Refine system prompts
- Add "What should I say?" quick action for AI
- Web Search tool for AI (better responses for domain specific knowledge)
- Support alternative LLM providers
- Microphone bleeding mitigation (system audio might be picked up and repeated)
- Search across all sessions
- Ask AI across all sessions (Global RAG)
- Migrate to an actual database (SQLite)
- Context Management (compression and summarization for long transcripts)
- Speaker diarization (who said what)
- AssemblyAI integration as an alternative transcription backend
- Linux support
- MacOS support
- Build as a standalone desktop application
Contributions are welcome! Feel free to open an issue or submit a pull request.
This project is licensed under the GNU General Public License v3.0 -- see the LICENSE file for details.



