Case study
Novera RecorderRecord a Meet, get a meeting summary structured by business template — all 100% local.
The internal tool that transcribes and summarises my high-stakes conversations — candidate interviews, client briefs, mission debriefs — without any audio or text leaving my machine. Capture from Google Meet via a Chrome extension, local transcription, summary by business template.
- Role
- Design · Development
- Solo
- Year
- 2026
- Type
- Internal tool · 100% local meeting summaries
No data leaves the machine — no cloud transit, no external logs.
Business templates
- Default
- Candidate interview
- Client brief
- Mission debrief
The challenge
I run my recruitment business through a stream of high-stakes conversations: candidate interviews, client briefs, mission debriefs. My manual workflow — PC recorder → .wav file → Vosk script → copy-paste into ChatGPT — was slow, fragile (Vosk without punctuation produced poor summaries) and multiplied alt-tabs.
Worse: sensitive conversations — compensation, candidate backgrounds, client contacts — transited through a third-party cloud, with the associated confidentiality risk. Taking notes by hand during an interview cuts listening quality. There was no searchable history, and no standardised output by context.
The solution: an end-to-end cycle
From the Chrome extension to the exported summary, the full cycle runs on my machine alone — without alt-tabbing during the meeting.
Start from Meet
Chrome extension: one click “Start” on Google Meet, auto-titled from the Meet name.
Two-track capture
Mic + WASAPI loopback captured on two separate tracks (Me / Participants).
Live transcript
faster-whisper on snapshots every ~20 s, during the meeting.
Post-processing
On “Stop”: full transcription, then speaker merge (Me / Participants).
Templated summary
Summary via Ollama with a business template: default, candidate-interview, client-brief, mission-debrief.
Usable session
In the app: editable title, full-text search, PDF export.
Privacy by default
No audio or text leaves the machine: no cloud transit, no external logs.
GDPR framing
Standardised consent announcement at the start of each interview.
Under the hood
A Python backend running on CPU only (no GPU required), deliberately frozen: no environment variables, no front-end build step. The whole chain — capture, transcription, summary, storage — lives locally.
Audio capture
Mic + WASAPI loopback via sounddevice, soundfile writes, RMS level computed with numpy. Two separate tracks to distinguish speakers.
Local transcription
faster-whisper 1.2 (medium model, CPU INT8) via ctranslate2. Around 5 seconds of compute for 5 minutes of audio.
Local summarisation
Summary generated by Ollama (qwen2.5:7b model), entirely on the machine, with a business template chosen at the end of the session.
Storage & search
Sessions persisted in SQLite with FTS5 full-text search. PDF export delegated to the browser.
API & extension
FastAPI + Uvicorn backend exposing 16 API routes. A Chrome Manifest V3 extension with a content script injected on meet.google.com.
Zero-dependency frontend
Vanilla HTML/CSS/JS: no framework, no build step, no CDN. Deliberately frozen config, with no environment variables.
My role: design and development, solo
From spotting the need to shipping it, I built Novera Recorder alone: designing the capture cycle, developing the backend and the extension, choosing a 100% local architecture out of a confidentiality requirement. It’s the tool I use for my own interviews.
Design
Capture cycle, business templates, alt-tab-free flow.
Backend development
Audio capture, transcription, summary, FastAPI API, SQLite storage.
Chrome extension
Manifest V3, content script on Google Meet, one-click start.
Privacy & GDPR
100% local architecture, standardised consent announcement.
Building a local, confidential tool for my own interviews reflects my standards on three fronts: listening quality (no more handwritten notes), candidate-data confidentiality (nothing leaves the machine, unlike Otter.ai, Tactiq, MeetGeek or Fathom), and technical pragmatism — the right tool, not the biggest: all local, no subscription, with full control over the templates.