The Actual Problem
What I Tried
What I Did
## into green section markers, [WEBCAM] into orange stage directions, and > into red cues to myself. Everything else is white speech text, large enough to read from behind a camera.
The scroll engine uses direct DOM manipulation instead of React state updates. This sounds like a minor technical detail. It isn't. Most web-based prompters trigger a full React re-render 60 times per second to move text up the screen. That works until the script is longer than a page, at which point the browser starts dropping frames and the text stutters. Moving the scroll to a ref-based system and throttling the HUD updates to 5 times per second eliminates the problem entirely.
I added section navigation (press 1 through 9), rehearsal mode (practice one section at a time), retake markers (bookmark a position, jump back after a flubbed line), three color themes, adjustable column width, and touch support for tablets. Each feature exists because I hit a specific frustration during actual recording sessions.
The whole thing is open source, runs on GitHub Pages, requires no account, stores scripts in localStorage, and works offline as a PWA. I published it in a weekend.
The Part That Surprised Me
The Broader Thing
I needed a teleprompter. I built a teleprompter. It took a weekend. Now I never have to paste a script into a broken app again. Some problems really are that simple.Try it: bipinrimal314.github.io/teleprompter Source: GitHub