Whispr

History

Every session is recorded: the transcript, the questions that were detected, every answer each engine produced, and which one you chose. History is where you go afterwards to see what was actually asked, what you actually said, and what to do about it.

What went wrong

If something in Whispr itself misbehaved during a meeting — an engine that would not start, a watcher that stopped — a past meeting says so, under the record. It is about the app rather than the conversation, and it is empty for most meetings.

Cards you read out is measured, not judged. Whispr compares what you said against the cards that were on screen: a card read aloud matches closely, and answering in your own words does not come near it. It exists because use this is a button nobody presses mid-sentence, so the count of answers you marked was almost always zero. Nothing about it is a criticism — answering in your own words is the point.

It is worth reading before you judge the answers: a meeting where one engine never started had fewer options on every card, and until this was written down the only way to notice was to count answers per engine.

An engine that fails to start now gets one more attempt, on the next question, and joins the meeting if it works. Exactly one: an engine that fails twice is not having a bad moment, and every attempt is a real connection on your own account.

The list

Sessions are grouped by the meeting they belong to, newest first, so a second round reads under the first. Anything recorded before you had meetings is grouped under "No meeting" rather than disappearing.

Each row gives the date, the company, the role, how long it ran and how many questions came up — plus one line saying what the session actually was. That line is the debrief's headline where you have written one, and otherwise the first thing that was asked, which is a surprisingly good stand-in: a meeting's opening question is usually what it was about. Without it, two calls against one meeting are distinguishable only by their timestamps.

A row you have already been through is marked reviewed, so a long list says which ones you have not.

Two counts per row. "4 used" counts the questions where you marked an answer as the one you were going to say. "2 to do" counts what is still outstanding from that session's list — see To do below.

Practice runs are marked, because the same counts mean something quite different when there was no interviewer.

At the bottom the list says how many sessions there are in total against how many are shown — "Showing 50 of 63" — and Show older fetches more. A history that silently stopped at fifty read as though fifty was all there was.

Past two hundred rows Show older starts turning pages rather than adding to the list: the count then reads "Showing 201–240 of 240", and Show newer goes back.

Searching

The search box matches anything that was said, anything that was asked, the company and the role, and the text of any debrief. It runs over your whole history rather than over the page on screen, so searching for a company you spoke to a year ago finds it.

Searching the debrief is most of why writing one is worth the trouble: "the one where I promised the pricing sheet" is findable afterwards only if the sentence somebody wrote about it is there to find.

Opening History from a meeting card filters it to that meeting. Show all clears the filter; it is a view rather than a setting, and it does not persist.

Deleting one

Each row has Delete, which asks once and then removes that recording and everything belonging to it — the transcript, the answers, the debrief and the list. It cannot be undone. Archiving a meeting leaves its recordings alone; this is the only thing that removes one.

Opening one

The header repeats what the session was and which meeting it belonged to. Then three blocks, in the order you need them.

Debrief

How it ran is always there, whether or not you have asked for anything. It is arithmetic over what was already recorded — how long, how many questions of which kind, which engines' answers you actually used, how much of the talking you did and how dense your filler words were — so it costs nothing, works with every engine switched off, and is ready the instant a session ends.

It never grades. There is no score and no verdict on whether it went well. Nothing in a transcript can know whether the room liked you, and a confident number about it would be believed.

Two counts that look similar and are not. "3 questions got no answer from any engine" is a fault worth chasing. "On 5 you answered in your own words" is the better outcome, and it is worded that way on purpose — a line implying you should have read a card would be pushing you toward reading aloud, which is exactly what the cue design exists to avoid. A failed answer is never counted as an answer, or a question would read as handled when you had nothing on screen.

Your word count is worth watching even when nothing else is. A 28-minute interview that reports 52 words of your speech is a transcription hole, not a quiet candidate — and that number is how you find out.

On a sales call, doing more than about half the talking earns one extra clause: on a discovery call that is usually too much. An interview gets no such warning, because being asked a question and answering it is the format.

Write the debrief asks one of your engines to read the transcript and say where this leaves you, what worked, what to change next time, and what the other side raised that you did not answer well. On a sales call the last of those is the objections and how each was handled; in an interview it is the questions that landed badly and the better answer to give next time.

It runs only when you press it. It is a model call on your own account, and nothing here spends your money on a schedule. Write it again replaces it.

If no engine can be reached, the measurements stay and the reason is shown underneath — the numbers are here, the judgement is not, and this is why. A failed attempt never replaces a debrief you already have.

Two things a debrief will not do. It refuses a session that is still running: a debrief is written after a meeting, not during one. And it refuses a practice run, which is reviewed by its per-answer critique and its own summary — both of which are already on the page.

To do

What is owed to somebody now. The debrief writes these — the thank-you note, anything you promised to send, what the other side owes you, what to prepare before the next round — and you can add your own with the box at the bottom.

Tick one off and it stays on the list, struck through, because a list that shrank as you worked would lose the thing you just did. Writing the debrief again replaces the items it generated and never the ones you typed, and never one you have already ticked off.

The count carries up to the meeting card, so a meeting with something outstanding says so on the screen you start the next round from.

The record

Then the questions, grouped into turns exactly as they were during the call, so a two-part question still reads as the one thing it was.

Under each question, every answer that engine produced — its text, which engine wrote it, which variant it was, and how long it took.

The answer you chose is marked and sorted first. That is the most useful thing on the page. Two highlights would misdescribe the conversation, so choosing one clears the others.

Where the overlay showed you a cue, that is recorded too, collapsed under the question. All of them are kept, not only the one you saw: a cue that was refused for being prose, or that arrived too late to be shown, is the evidence that tells you a cue engine is not earning its keep. Each says which it was and how long it took.

The full transcript sits at the bottom, collapsed, with both sides attributed the same way they were live and every turn stamped with where in the recording it was said. It opens by default when there were no questions to show, because a collapsed transcript over "no questions were detected" looks exactly like a recording that failed.

Copy as Markdown puts the whole thing on the clipboard — the debrief, the to-do list with its ticks, the answers you chose, and the timestamped transcript. It is the shortest route from a call to a thank-you note or a CRM entry. The answers you did not choose are left out: three near-identical options per question is noise in a document somebody else will read.

Practice sessions

A practice question was answered by you, not by an engine, so what you see is what you said, how long it took, and the critique of it. Where you retried a question, every attempt is listed in order — the comparison is what the retry was for.

If you pressed Show me a strong answer during the run, that example is kept with the attempt and shown beneath it. Reading those before a real call is the closest thing to a lesson plan the app produces — which is why they are stored rather than only shown once while you practise.

The end-of-run summary sits above the per-answer detail. It is computed from your own timings rather than generated, which is why it is always there.

In the browser

Whispr in the browser has the same History, the same debrief and the same to-do list, on the same measurements. The arithmetic, the wording and the questions put to the model all come out of one shared piece of code, so the two apps cannot word the same meeting differently. What they hand the model is not quite identical — the desktop app tailors how much of your prepared material it sends to the engine you are using, and the browser sends a fixed amount — so the same meeting can produce two debriefs that differ in detail.

These parts of this page describe the desktop app only. They are listed rather than left to be hunted for, because a control you cannot find is worse than one you were told about:

One difference worth knowing about your own data. In the browser, everything lives in that browser's own storage — this is what makes "your interviews never pass through our servers" literally true — and there is room for twenty sessions. Past that the oldest is dropped to make room for the newest. The desktop app keeps everything, in its own database, with no cap.

Sessions recorded before the browser app started keeping timestamps on each turn show no talk-share line and no timestamps in the transcript. That is deliberate: the numbers were not recorded, and a guess would be a confident wrong percentage on a real conversation.

From the terminal

Everything above works without the window open.

whispr history

lists what has been recorded, with the same one-line summary. It marks each row debriefed or no debrief and counts what is still to do. Add --search "pangolin clause" to match what was said, or --limit 50 for more rows.

whispr history <id>

prints one session in full: how it ran, the debrief if there is one, the to-do list, and each question with the answer you used. Add --transcript for the whole conversation with its timestamps, and --debrief to write the debrief for it — the same call the button makes, on the same engine.

whispr debrief

is the shortest route to the measured half of your most recent finished interview, question by question, with no arguments and no model call. Pass a session id for a specific one. It ends by pointing at --debrief above when there are lessons still to be written.

Reviewing with Claude

If you have a Claude session attached on this machine, it can read your recorded sessions and go through one with you — which questions came up, what was answered, and which answers you actually used. It sees the same chosen-answer marks you do, for the same reason: it is the difference between reviewing what happened and reviewing what was merely offered.

It also reads the debrief before advising you, and it is told to. A session that wrote its own review of a meeting you have already been given a verdict on would be contradicting that verdict, and you would believe whichever you read first. Where no debrief has been written it knows that too, and a review from the transcript is genuinely useful then.

It can put things on your to-do list as well, which is what turns "you should send them the architecture diagram" into something that actually happens.

Setting that up is in Settings.

What is kept, and where

All of it, on this machine, in the app's own database. Sessions are not uploaded anywhere, and nothing here is deleted on your behalf — archiving a meeting leaves its recordings intact, and so does creating a new one. Delete on a row is the only thing that removes a recording, and it is not reversible.

What the meeting was for

If the meeting had goals, the debrief closes with how the call left them — separately by kind, because the two mean different things once it is over.

Covered 3 of 5 things you meant to is a conversation that did not get everywhere. 1 of 2 outcomes did not happen is the meeting not achieving what it existed for, which is a different problem with a different fix.

Anything never reached is named, not counted. "Never reached: learn the decision process" is the sentence worth reading; "2 goals missed" is a number nobody can act on.

It still does not grade. A meeting that did not book the demo may have been exactly the right conversation, and nothing in a transcript can know.

The written debrief sees the same figures, so its lessons are about the meeting you meant to have rather than the one it can infer from the words alone.