I built a teleprompter for live presentations and wanted to share it.

What it does:

  • Voice tracking - words highlight as you speak, no audio sent to the cloud
  • Manual pacing - hold spacebar to advance, double-tap to jump lines
  • Quick-nav markers - add [1], [2] in your script, press number keys to jump (auto-pauses)
  • Script markup: emphasis, strong, [stage directions], {talking points}
  • Installable PWA - runs fullscreen without browser chrome

Two speech modes:

  • Browser - WebSpeech API (Chrome/Edge handle audio locally)
  • Vosk - fully self-hosted, audio never leaves your server

Why I built it: Most teleprompters with voice tracking send your audio to cloud services. I wanted something privacy-focused that I could self-host. Also needed fuzzy matching for Swiss German dialect and the ability to jump to sections during talks.

Being transparent: This was built with heavy AI assistance (Claude). I’d estimate 80%+ of the code was AI-generated with me directing, testing, and iterating. Took about a day of back-and-forth.

Stack: Vanilla JS frontend (~1500 LOC), Python/FastAPI + Vosk backend (optional)

Feedback welcome - what would make this more useful?