Most “AI meeting notes” tools summarize a transcript after the fact. We build the whole pipeline instead: capture, diarization, extraction and sync, so a decision made on a call lands in the system of record on its own, and nobody has to remember to write it down.
ScribeIQ is our internal reference build, developed against real call recordings from two pilot teams. A renewal call runs 32 minutes, someone says they’ll follow up by Friday, and three weeks later nobody remembers who said it. ScribeIQ transcribes the call with each speaker attributed, pulls out what was actually decided, and puts it somewhere a person can find it later.

Meeting notes depended on whoever was paying the closest attention also being willing to write them down mid-conversation. When something needed checking later, the only option was re-listening to a recording end to end, which in practice almost never happened.
Every call is transcribed with per-speaker attribution automatically, decisions and action items are pulled out without anyone writing a summary by hand, and the full archive stays searchable, so nothing depends on a person remembering to take notes.

The person closest to a decision is often the one talking the most, not the one free to write it down. ScribeIQ doesn’t ask anyone to multitask. It joins a live call or takes an uploaded recording, separates the transcript by speaker, and hands the text to a model whose only job is to find what was decided. That second step is where most of the value sits: a wall of text becomes three or four bullet points with an owner where one was stated. They’re written into the CRM or ticketing tool the team already uses, and the full transcript is indexed for search.
Live calls and uploaded recordings go through the same four stages: capture, transcription with speaker attribution, extraction of decisions and action items, and sync into the tools the team already uses, with the full transcript indexed for search.
Joins a live call in progress or accepts an uploaded recording. Same pipeline either way.
Converts speech to text and attributes each line to the right speaker, including crosstalk.
An LLM reads the full transcript once and pulls out decisions and action items, tagging an owner where one was named.
Pushes the summary into the CRM or ticketing tool in use and indexes the transcript for full-text search.
A call joined in progress and a recording uploaded after the fact go through identical processing.
Crosstalk and overlapping speech are resolved to the correct speaker rather than merged into one block.
An action item only gets an owner tag when one was actually said on the call. Nothing is guessed.
Every past call is searchable by content, not just by date or title.
Summaries land where the team already works instead of a separate tool nobody opens.
The raw per-speaker transcript exports in a plain format, so the record survives if the team ever moves off this tool.
The aim was that a commitment made on a call could be found and proven later. Here is how the shipped pipeline differs from what came before it.

Sat in on a week of calls across two teams. The real gap was decisions nobody could later prove were made.
Built ingestion for live calls joined through the conferencing tool and for uploaded recordings, converging on one transcription step.
Clean demo audio falls apart on a real three-person call with a dog barking. We trained against real recordings, not studio ones.
An early version flagged nearly every sentence as an action item. The shipped version only tags explicit commitments.
Tested the sync and search layer against a real backlog of past calls before anyone relied on it.
The second pilot team joined only after the first team’s edge cases were handled; a month of real use surfaced what scripts never would.
