Projects 2025 live
Subtitle Study Tool
A browser extension for learning a language from films. It finds a subtitle for the video in the tab, keeps it in sync, shows a second language beside it and underlines words that are rare in film dialogue.
JavaScript, Manifest V3, Python

Subtitle Study Tool is a browser extension for learning a language from films and series. It finds a subtitle for whatever is playing in the tab and draws it over the video, with a second subtitle in a language you already know beside it. Both run on the same clock.
Syncing a subtitle usually means guessing its offset from the video. Here the overlay reads the video element's own position 20 times a second, so seeking, pausing and buffering stay in step without any guessing. The only offset left is the one baked into a file timed against a different release. The second subtitle's offset is measured against the first, from the gap between their cue times that keeps recurring, and it is applied automatically only when the two files look like the same film.

In study mode, words that are rare in film dialogue are underlined and their meanings appear at the side as the film runs. Rarity is a word's rank in a frequency list counted over film subtitles, because a word can be common in print and rare in speech. One key saves a word with the line it was said in, the same moment in the other subtitle, the film and the timestamp. That context is what makes the word worth reviewing later. The deck exports to Anki.
Beside the extension, the repository has a viewer that does the same for a subtitle file without a video, a batch .srt translator, and Whisper transcription for a film nobody has subtitled. An optional local daemon keeps downloaded subtitles on disk and signs in to OpenSubtitles, which raises the daily download limit from 5 to 10.

It is open source under the MIT license. It is not in a store, so you load it unpacked. The screenshots show an original scene and sample subtitles written for the repository, not a real film.