No bot · no waiting room · on-device

Nobody has to let it in.
Meetings that write themselves.

Tired of another AI agent barging into your call — or waiting for the organizer to admit your notetaker? Vlocalhost never joins the meeting. It runs on your machine, wakes only when someone speaks, and hands you clean notes. Nothing to approve. Nothing uploaded.

Vlocalhost · voice activity monitor initializing −∞ dB
16 kHz · 16-bit mono PCM 30 ms VAD frame faster-whisper base.en 800 ms silence gate 0 bytes uploaded

No bot. No waiting room.

Stop asking permission to take notes.

Tired of another AI agent barging into your call? Tired of pinging the organizer to admit your notetaker while everyone waits? Vlocalhost never joins the meeting. It runs on your machine and listens to you — invisible in the participant list, nothing to approve. Just talk.

The old way — every other notetaker
Notetaker Botrequesting to join… waiting DENIED
AI Meeting Companionwaiting for host… waiting DENIED
Recording Assistant“admit to the meeting?” waiting DENIED
Vlocalhost · on your device

Already in. Because it never left your side.

No join request. No “recording has started.” No one in the room even knows it’s there — but you walk out with the notes.

Switch to Vlocalhost →

The signal path

Five stages. Zero cloud.

Audio enters at the microphone and never leaves the device. Each stage runs locally — capture, gating, transcription, and reasoning — so the only thing that reaches disk is a finished set of notes.

MIC
Capture
Raw 16 kHz mono audio off your default input.
VAD
Gate
webrtcvad separates real speech from silence.
STT
Transcribe
faster-whisper turns speech into text, on-device.
LLM
Structure
A local Ollama model shapes clean meeting notes.
OUT
Deliver
Markdown notes + transcript, named by meeting.

Capabilities

Engineered around one idea: listen only when it matters.

Voice activity detection

Silence is ignored

The engine only transcribes genuine speech. Coughs, keyboard clicks, pauses, and dead air never reach the model — so transcripts stay clean and fast.

Local by design

Nothing leaves your device

Transcription and summarization both run on your own hardware. No API keys, no accounts, no telemetry, no cloud round-trip. Ever.

Calendar-aware

It knows your meetings

Connect Google or Outlook and Vlocalhost names every file from the real event, and can start recording the moment a meeting begins.

Portable

Runs on everything

Windows, macOS, and Linux — the same engine, the same privacy guarantees, one command to launch. Tray app or terminal, your call.

No model limitation

Bring your own voice model.

Vlocalhost never locks you to one engine. Attach the speech-to-text model that fits your accent, your language, and your hardware — swap it in a single line, or replace the engine entirely. Small and fast, or large and pin-sharp. Your model, your rules.

Option 1 · pick

Any Whisper model

From tiny.en to large-v3, or any fine-tuned model on Hugging Face — one line in config.py.

Option 2 · attach

A local model folder

Point Vlocalhost at a model on disk. Any size, any language, fully offline — nothing to download.

Option 3 · replace

Your own engine

Plug in a custom transcriber with a .transcribe() method and bypass Whisper completely.

Calendar + delivery

Connected when you want it. Offline when you don't.

01

Auto-start on meetings

Vlocalhost watches your calendar and begins recording as the meeting starts.

02

Name notes from the event

Files are titled from the real meeting, not a guess.

03

Email the summary

Send finished notes to attendees the moment the meeting ends.

04

Post back to the event

Write the notes straight into the calendar event's description.

Google
Calendar + Gmail
OAUTH · LOCAL TOKEN
Microsoft
Outlook + Mail
GRAPH · DEVICE CODE

Credentials cached in your OS keystore folder — never in the cloud, never in the repo.

Instrument spec sheet

The numbers under the hood.

Capture16 000 Hz · mono · 16-bit PCM
Voice gatewebrtcvad · 30 ms frames · aggressiveness 2
Silence timeout800 ms trailing silence ends an utterance
Transcriptionfaster-whisper · base.en · int8 / CPU · bring your own voice model
SummarizationOllama · llama3.2 · fully local · bring your own model
OutputMarkdown notes + timestamped .txt transcript
PlatformsWindows · macOS · Linux
Network egressnone — 0 bytes off-device

Install

From silence to notes in one command.

Clone it, point it at a local model, and talk. The first run pulls the Whisper weights once, then everything is offline for good.

Download Vlocalhost →
~/vlocalhost — bash
# set up an isolated environment
$ python -m venv .venv
$ source .venv/bin/activate        # .venv\Scripts\activate on Windows
$ pip install -r requirements.txt

# pull a local model for summaries
$ ollama pull llama3.2

# start listening — silence is ignored
$ python vlocalhost.py
🎤 Vlocalhost online · on-device · watching for speech