Stenny

Written down, so Claude knows what was said.

Study with a Claude that sat through every lecture.

Stenny records your lectures and turns them into clean, timestamped transcripts, right on your Mac. Your Claude project reads every one of them, so its answers come from what was actually said in class, with the lecture and minute to check.

  • Free
  • Runs on your Mac
  • Answers cite the minute
  • English · French · German
Data Analytics 2026-10-27.md lecture 5 · live

Last week we fitted the line with least squares. Today we ask how good that line actually is.

R squared compares the variance the model explains with the total variance.

So an R squared of one means every point sits exactly on the line.

And zero means the line explains nothing at all.

Now let's see what happens on the test data…

How it works

One click. The rest follows the lecture.

Nothing to set up per lecture. The finished transcript is ready about twenty minutes after class.

  1. 10 min before

    It knows your timetable

    Stenny reads your calendar, for example your university's feed. Before class it offers to record. It never starts by itself.

  2. During the lecture

    Text appears as they speak

    A red dot and the time sit in your menu bar. Within seconds the words show up in Obsidian. Pausing really turns the microphone off.

  3. About 20 minutes after

    A clean final transcript

    Whisper goes over the whole recording again and adds sections, timestamps and a summary. On battery, it waits until you plug in.

  4. Exam week

    Study with Claude

    A Claude project reads your transcripts straight from the vault and answers with the exact lecture and minute.

What you get

Context Claude can actually use.

Clean Markdown in your vault, organised by course. Claude reads it directly and cites the minute.

Data Analytics 2026-10-20.md final transcript · example
course
Data Analytics
lecture
4
date
2026-10-20
length
2:58:40

Summary · written by AI

  • Residuals are the gap between real and predicted values. [0:39:48]
  • Squaring keeps them from cancelling out. [0:40:39]
  • Least squares picks the line with the smallest sum. [0:41:15]

Residuals slide 11

[0:39:48]Okay, so let's look at the residuals. For every observation we have the real value and the value the line predicts. The residual is just the difference between the two.

[0:40:39]Why do we square them? Because otherwise the positive and the negative ones cancel out.

Least squares slide 12

[0:41:15]And that's the whole idea behind ordinary least squares.

← Lecture 3Topics: Least squares, RegressionLecture 5 →

Every lecture

A clean transcript with sections and a timestamp on every paragraph, plus a short summary. Course, lecture number, date and length sit at the top.

Every course

An overview page, all lectures in one file and all summaries in one file, kept up to date for you.

Connected notes

Topic notes link lectures across courses, so Obsidian's graph shows how everything fits together. Each lecture links to the one before and after.

Ready for Claude

One command writes the instructions for a Claude project per course. Claude then reads the transcripts directly, cites the minute, and keeps your glossary up to date.

Nothing is lost

The raw transcript and the compressed audio, about 12 MB per hour, stay in a separate folder outside your vault.

Why it works

Built for real lectures: long, fast, and in more than one language.

Made by a student for their own 2 to 4 hour lectures, and used every day.

2.7 %word error rate on an 18-minute French benchmark
≈ 9×faster than real time on a MacBook Air M4
Freeto use. The optional AI step costs about $0.01 per lecture through the API
0 bytesof audio sent anywhere. Whisper runs on your Mac's graphics chip

Private by default

Whisper large-v3-turbo runs on your Mac. Without Claude, everything works fully offline.

Gets your terms right

Each course has a glossary that fills itself from the slides and repeated terms. “Wrong → right” pairs fix recurring mishearings.

Follows language switches

Set a language per course, or let Stenny check every 25 seconds or so. English quotes in a French lecture stay English.

Never loses audio

A small native recorder writes straight to disk. Use any microphone, even your iPhone near the lecturer, with a backup that fills any gaps.

No invented sentences

Silence, loops and echoes that Whisper sometimes makes up are filtered out of the clean transcript.

Your Mac stays usable

Transcription runs at low priority, and the live transcript can be switched off to save battery.

The AI never rewrites what was said.

Claude Haiku only adds headings, writes the summary and suggests fixes for misheard terms. Every fix is checked against your glossary and slides, and anything that changes the wording is rejected. Use your Claude Code login at no extra cost, or the API for about $0.01 per lecture.

Suggested fixes, Data Analytics lecture 4 example
✓the errors show hetero skedasticity heteroscedasticityin glossary
✓under the Gauss Mark of Gauss–Markov assumptionson slide 14
✗so we kind of assume we assume the variance is constantrejected: changes what was said

Get Stenny

Download it, or build it yourself.

The download is the quickest way in. Building it yourself needs no Apple developer account.

Download

Stenny for Mac

Free, for Macs with Apple Silicon (M1 or newer).

Download for Mac

Build with Claude Code

Let Claude Code do it

Clone the repository and ask Claude Code to follow SETUP.md. It installs everything, builds the menu bar app, sets up permissions and asks about your vault, calendar and courses.

$ git clone <repository>
$ cd lecture-transcriber && claude
> follow SETUP.md

Build by hand

A few terminal commands

Install Homebrew, then uv and ffmpeg, then build the menu bar app with one script. Your courses go in a settings file.

$ brew install uv ffmpeg
$ uv tool install -e .
$ LectureBar/build.sh
Mac
Apple Silicon (M1 or newer)
Space
About 3 GB, plus 1.8 GB for Apple's developer tools if you don't have them. Recordings take about 1 GB per semester.
Memory
2.5 to 3.5 GB free while transcribing
Optional
Obsidian, a calendar feed with your lectures, and Claude Code for the AI step

Ask before you record

Many universities, WU Vienna for example, need the lecturer's consent. Ask first, and keep recordings and transcripts to yourself.

Early test version

The repository isn't public yet. Stenny runs every day on one MacBook Air M4 and hasn't been tested on other Macs.

Under the hood

From the microphone to your vault.

  1. Microphone

    Any input, including an iPhone through Continuity, plus an optional backup.

  2. Native recorder

    Swift and AVAudioEngine write the audio straight to disk.

  3. Whisper

    mlx-whisper large-v3-turbo on the graphics chip.

  4. Filter

    Removes silence, loops and echoes, and applies the glossary.

  5. Claude Haiku

    Optional. Headings, checked term fixes and the summary.

  6. Markdown

    Transcripts, summaries and course files in your vault.

A Python command-line tool does the transcription and a Swift app lives in the menu bar. ffmpeg compresses the audio. Everything is set in one settings file.