readback CLI
Hear how your interview actually went. Run it on a recording and read the conversation back: dead air trimmed, a transcript, and the tone and energy of the room. Everything runs on your machine.
Clone it, build it, and run it on your own recording. You need
zig, ffmpeg,
and python installed.
git clone https://github.com/dillingerstaffing/readback
cd readback
zig build
./scripts/setup_sentiment.sh # one-time: local transcript + tone models
zig-out/bin/readback your-interview.m4a
That writes a trimmed audio file and a JSON read-back next to your recording. Nothing uploads.
The run prints a summary and writes the read-back as JSON. Both are example output here, the way a README shows what to expect, not a live analysis of anyone.
$ zig-out/bin/readback your-interview.m4a
trimming silence 47:32 -> 41:08 (6:24 of dead air removed)
transcribing (local) 312 segments
reading tone + energy done
moments to revisit 7
wrote your-interview.readback.json
{
"segments": [
{ "start_sec": 0.0, "end_sec": 8.0, "text": "Thanks for making time. Start wherever feels natural.", "emotion": "calm", "valence": 0.61, "arousal": 0.27, "dominance": 0.49 },
{ "start_sec": 8.0, "end_sec": 16.0, "text": "What did you enjoy most about that project?", "emotion": "happy", "valence": 0.72, "arousal": 0.58, "dominance": 0.52 },
{ "start_sec": 16.0, "end_sec": 24.0, "text": "Got it. Walk me through the tradeoff you hit.", "emotion": "neutral", "valence": 0.50, "arousal": 0.43, "dominance": 0.50 }
]
}
Your audio never leaves your machine. Every model runs locally, so the recording and the transcript stay with you. The only time readback touches the network is a one-time model download on first run.
-
Trim
Dead air comes out first.
Long silences are cut, so the review is the conversation and nothing else.
-
Transcribe
Every line gets a transcript.
A local speech model writes out the words and lines them up to the audio.
-
Read tone
The energy of the room, mapped.
readback reads the tone and energy across the call so you can see your own pacing.
-
Flag moments
The moments worth a second listen.
Shifts in tone are flagged, so you jump straight to the parts that matter.
The Right Person. The Right Role.
Matches that last, by understanding what actually matters about a role, a team, and a person.