Skip to content
Writing

The Tool Before the Video

March 7, 20264 min read
Note
I make demo videos. Product walkthroughs, feature explainers, project recordings. The kind of videos where you need to sound like you know what you're talking about while simultaneously showing something on screen and not losing your train of thought. For a while I managed with bullet points taped to the side of my monitor. This works until the demo runs longer than ninety seconds, at which point you're either reading tiny handwriting at arm's length or ad-libbing through the parts you forgot. Neither looks good. So I tried teleprompter apps. The pitch is simple: paste your script, it scrolls while you read. The reality is less simple.
BIGVU caps the free tier at two minutes and stamps a watermark on everything. Two minutes is barely enough to introduce yourself. Speakflow wants an account before you can paste text into a box. PromptSmart charges $10/month for voice-activated scrolling that its own users describe as "jumping ahead" or "simply stopping." Teleprompter.com crashed three times during one reviewer's testing. CuePrompter is free and accountless, which I respect. It also looks like it was built when Internet Explorer 6 was a real browser. The UI is a single HTML form with no formatting, no speed control, and no way to save your script. I write my scripts in markdown. Section headers, stage directions in brackets, cues to myself as blockquotes. Every app I tried stripped all of that on paste. The structure that helps me navigate the script disappeared the moment I put it into the tool that was supposed to help me read it. This is a pattern I recognize. The tool is optimized for the company's business model (subscriptions, accounts, upsells) rather than for the person's workflow (paste text, scroll text).
I built a teleprompter. React, Vite, an afternoon. The core is a markdown parser that turns ## 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 teleprompter market is worth $78.5 million. Dozens of companies compete in it. And the intersection of "web-based," "markdown-native," "no account required," and "open source" was completely unoccupied. These aren't exotic properties. They're table stakes for developer tools. But teleprompter companies aren't building for people who write in markdown. They're building for people who use Google Docs and expect voice control. The markdown-writing, keyboard-shortcut-using, subscription-allergic creator is a persona none of them designed for. I happen to be that persona. So now I have a teleprompter.
This is the third tool I've built for myself this year: Drift (a percentage-based clock), Polymath Protocol (a habit tracker for cross-domain growth), and now a teleprompter. Each one started the same way. I needed something. The market offered a version that was close but wrong in a way that mattered. Building the right version took less time than learning to tolerate the wrong one. I don't think this makes me unusual. I think most people who build things have this experience. The tools that exist are built for the average user, and the average user is a statistical fiction. Real users have specific workflows, specific constraints, specific points where "close enough" stops being close enough. The cost of building a tool from scratch used to be prohibitive. It isn't anymore. An afternoon with React and an LLM gets you 80% of the way. Experience with the problem gets you the remaining 20%. That's the whole formula.
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