All work

SalesIn productionEngineering

Live-meeting detection and CPU-only transcription

Detecting that a call has started from OS-level signals, capturing loopback and microphone audio across mismatched consumer hardware, and running a quantized speech model inside the CPU budget a video call leaves behind.

Who this is for
Engineers and technical leads reviewing the architecture and implementation decisions.
Challenge
Keeping audio on the device removes every convenience a cloud pipeline has, unlimited compute, one clean audio source, and the freedom to be slower than the conversation.
Solution
OS-event meeting detection with recovery from partial states, native loopback-aware dual capture, and a quantized CPU-only speech model with vocabulary-biased decoding, all inside the budget an active video call leaves.
Impact
Comfortably under real-time on commodity laptops across nine rounds of optimisation, with word error rate down from about 18% to 10%.
Status
In production. The word-error-rate change is our own measurement and has not been reconfirmed on current traffic.

Published

In short

Bigcircle makes the laptop the privacy boundary for AnyTeam, so captured audio has no path to a cloud service. OS-event detection recovers from a partial start, a native module synchronises loopback and microphone audio, and a quantized speech model runs on CPU inside the budget a video call leaves. Word error rate moved from about 18% to 10% in Bigcircle's own measurement, which has not been reconfirmed on current traffic. The app is in production, signed and notarized.

Key facts

Definition

AnyTeam's meeting pipeline, built by Bigcircle, detects a live call from OS events, transcribes on the rep's CPU, and writes a structured CRM record after the call.

How Bigcircle does it

  1. Bigcircle turns the calendar invite into companies and participants before anyone speaks, then recovers detection when the start state is only partial.
  2. Bigcircle captures system audio and the microphone in native code, separates them, and sends one synchronised stream to a quantized model with vocabulary-biased decoding.
  3. Bigcircle cleans filler and stutters before any language-model step, then streams guidance and writes the CRM fields from that cleaned transcript.

Comparison

A cloud speech API assumes an upload, spare compute, and one clean source, while Bigcircle keeps the audio on the device and fits transcription into the CPU a video call has not taken.

Key number

Bigcircle's own measurement, not reconfirmed on current traffic, put the word error rate at about 18% before nine rounds of tuning and at 10% after, with the largest gains on filler words and industry terms.

On-device
Live-meeting detection

Detection, capture and transcription all run inside the signed and notarized desktop app. Demonstrable in the shipped product.

18% → 10%
Transcription error rate

Internal measurement across nine rounds of tuning, with the largest gains on filler words and industry terms. Not yet reconfirmed on current production traffic.

Zero
Audio sent to the cloud

Every call is captured, transcribed and summarised on the rep's own laptop. This one is architectural, not a target. There is no upload path.

Stack

On-device transcriptionLive-meeting detectionNative audio captureStreaming LLM guidance

Every hard problem in this system comes from one decision: the audio does not leave the machine. That removes the buyer's objection and takes away every convenience a cloud pipeline has, unlimited compute, a clean single audio source, and the freedom to be slower than the conversation.

This is the engineering half of the case study. The business read (what changed for the reps using it, and why the privacy boundary was a commercial requirement) is a separate document.

The problem

Four constraints, and they fight each other.

The compute budget is whatever a video call has not already taken. Not "a laptop". A laptop that is currently encoding and decoding video, running a conferencing app, and doing whatever else the rep has open. Everything below has to fit in what remains, on CPU, without the fans making the rep the loudest person in the meeting.

The input is not one clean stream. It is system audio and microphone audio, from an unpredictable combination of conferencing apps, headsets, laptop speakers and external interfaces, with loopback to handle and no guarantee the two sides arrive aligned.

The transcript has a downstream contract. It is not being read by a human who can mentally filter disfluency. It is being written into a CRM and injected into prompts. Filler words, repeated stutters and hallucinated phrases do not degrade that output gracefully; they break it.

And detection had no reference implementation. Reliably knowing a meeting is live is the capability the entire product depends on (if it misses, nothing else in the pipeline ever runs) and at the time only a handful of applications anywhere had solved it. None of them had written down how. We designed and tested that path from first principles inside the desktop app, against OS events and audio state rather than against a spec.

  • Under real-time on CPU, alongside an active video call

  • Two audio sources, synchronised, across hardware we do not control

  • Transcript clean enough to automate against, not just clean enough to read

  • Detection that recovers from partial states, because a missed start means the product did nothing at all

Architecture

Four layers, each isolated so a failure in one is diagnosable rather than presenting as "the AI is wrong".

A context layer resolves the meeting before it starts: calendar invite in, companies and participants resolved, structured brief out. This is the cheapest possible quality win, the model reasons over a known account rather than inferring one from a transcript.

A native capture layer takes system and microphone audio, handles loopback, separates the two, and feeds a single synchronised stream forward. This is native code rather than anything in the app runtime, because it is the layer where consumer hardware variability actually lands.

An on-device transcription layer runs a compact, quantized speech model, CPU-only, embedded in the app. Decoding is biased toward sales and product vocabulary, which is where the accuracy that matters commercially actually lives: getting a product name or a competitor right matters more to a deal record than getting a preposition right.

A streaming layer carries cleaned transcript segments and the context brief into language-model flows for live guidance, then produces the structured post-call record (entities, risks, next steps) in machine-readable form.

Design decision: transcript cleaning sits before the model, not after it. Everything downstream (guidance, summary, CRM fields) inherits the transcript's noise, so cleaning once at the source is worth more than repairing three times at the consumers.

The business read: why the privacy boundary was the product decision

How it works

Resolve the meeting#

The calendar invite is read ahead of the call and enriched into a structured brief of companies and participants, so context exists before the first word is spoken rather than being inferred from the transcript afterwards.

Detect the live call#

Detection combines OS-level event handling with audio-state checks, and (the part that took the work) recovery from partial states. A meeting that starts early, a call joined from a second device, an app that reports a state it is not actually in: each of those has to resolve to the right answer, because a missed start means the product produced nothing at all for that call.

Capture and separate#

The native module captures both system and microphone audio, handles the loopback path, separates the sources cleanly, and emits one synchronised stream. Real consumer hardware is the adversary here, not the algorithm.

Transcribe on CPU#

The embedded quantized model transcribes locally, with decoding biased toward the vocabulary the business actually depends on. Nine rounds of optimisation is what moved this from "works on a quiet machine" to comfortably under real-time on commodity laptops during an active call.

Clean, then stream#

Cleaned segments stream with the context brief into the model flows that return live prompts, and after the call into the extraction that produces the structured CRM record.

Ship it as software#

Signed and notarized desktop app, one codebase shared across web and desktop, distributed outside the app stores. Real distribution constraints, solved rather than deferred, a local AI pipeline that cannot be installed by a normal sales team is a research project.

Control planes

Governance#

The device is the boundary, enforced by architecture rather than policy: there is no path by which captured audio reaches a cloud service. Meeting identity is established from calendar, company and participant context rather than inferred. Structured CRM fields are a defined contract, kept separate from raw audio and free-form transcript, so what lands in a business system is a record rather than a dump.

Orchestration#

Context resolution, detection, dual capture, stream synchronisation, local transcription, guidance streaming, post-call extraction and CRM handoff all run concurrently, inside the compute an active video call leaves over. The orchestration problem here is a scheduling problem, not a prompting one.

Observability#

The pipeline reports detection state, audio routes, capture interruptions, transcription timing, model resource use, guidance latency, extraction results and CRM handoff.

This is what makes the system supportable. Every user-visible symptom on a product like this presents identically ("it didn't work") and without per-stage state, every one of those tickets becomes a model investigation when most of them are an audio-routing problem.

When it fails

The failures are hardware and state failures, not model failures.

A meeting starts and detection misses the transition. A rep swaps a headset mid-call and the capture path changes underneath the stream. The conferencing app reports a state that has already moved on. Two sources drift out of alignment. In each case the pipeline has to re-establish state rather than continue producing confidently wrong output, because a transcript from a half-connected audio path is worse than no transcript. It will still be written to the CRM.

That is why detection is specified as recovery from partial states rather than as a boolean. And it is why per-stage state reporting is not an operational nicety here: a capture interruption and a transcription slowdown produce the same complaint from the rep, and only the instrumentation tells them apart.

Results

The pipeline runs where the call happens, keeps pace with it, and produces output clean enough to write to a business system unedited.

  • Comfortably under real-time on commodity laptops, across nine rounds of optimisation, alongside an active video call

  • Word error rate from ~18% to 10%, concentrated on filler words and industry vocabulary, the failures that broke downstream automation

  • On-device live-meeting detection, shipped inside a signed and notarized desktop app

  • No upload path for customer audio, which makes the privacy claim architecturally verifiable rather than contractual

Evidence

Directly demonstrable in the shipped product: live-meeting detection, local transcription, the embedded model, the signed and notarized desktop application, and the absence of a cloud audio path.

Internal measurement not yet re-confirmed on current production traffic: the word-error-rate change from roughly 18% to 10%.

On the detection claim: that only a handful of applications had solved live-meeting detection, and that none had documented it, is our own assessment from the period when we built it. We stand behind it (it is why the work took what it took) and we would rather state it plainly than round it off. It rests on our survey of the field at the time rather than on a published ranking, and we will say so to anyone who asks.

If you are evaluating a local-first pipeline of your own, the question worth asking early is not which speech model to embed. It is what your transcript's downstream consumer will do with a disfluency, and whether you can tell an audio-routing failure from a model failure at three in the afternoon on a support call.

How we classify these numbers, and the value model behind them

Common questions

  • Does customer audio leave the laptop?

    No. Bigcircle keeps capture, transcription, and the speech model inside the desktop app, and there is no upload path for customer audio. The privacy claim is checkable by looking for that path. The app is in production, signed and notarized.

  • How does AnyTeam notice a meeting that starts in a partial state?

    Bigcircle combines OS-level events with audio-state checks, and the hard part was recovery when the start is incomplete. A call that begins early, a join from a second device, or an app reporting a state it is not in still has to resolve, because a missed start means nothing else in the pipeline runs. Detection was designed inside the desktop app against OS events. The app is in production.

  • How does on-device transcription stay under real time during a video call?

    Bigcircle embeds a compact quantized speech model and runs it on CPU, in the compute the conferencing app has not already taken. Nine rounds of optimisation moved it to comfortably under real time on commodity laptops during an active call. Decoding is biased toward sales and product vocabulary. The word-error-rate change from about 18% to 10% is Bigcircle's measurement and has not been reconfirmed on current traffic.

  • Why is the meeting transcript cleaned before the language model runs?

    The CRM fields and the prompts inherit whatever noise is in the transcript. Bigcircle cleans filler, repeated stutters, and hallucinated phrases once, before guidance, the summary, and the CRM record are produced. A transcript from a half-connected audio path is worse than silence, because that transcript would still be written to the CRM. The app is in production.

Want the version of this built for you?

We can walk you through Series A SalesTech Built an On-Device AI Meeting Intelligence Platform live — the architecture, the failure modes, and what we would change for your constraints. Tell us what you are building and we will come back with a concrete plan.

Reply within 2h

We store your name, email, company, and message, and email a copy to hello@bigcircle.ai. Read the privacy page and the terms.