Anyone who has ever tried recording a technical presentation or demo video knows the classic teleprompter trap. If you type out a full script and read it off a scrolling screen, your eyes glaze over and you immediately sound like you are reading terms and conditions under duress; if you ditch the script and talk from a few sticky notes on your monitor, you inevitably forget your best technical point until ten minutes after you stop recording. Right as I was thinking about how to fix that for my own recordings, I watched NetworkChuck's video on TypeSafe Jev and checked out the TypeSafe Intelliprompter cookbook. Seeing how fast Jev evaluates natural language clicked immediately: instead of a teleprompter that forces a human to keep up with a scrolling wall of text, you can build a teleprompter that listens to you speak naturally and checks off your outline in real time.
The core idea behind Intelliprompter is refreshingly simple. You write your presentation as a clean outline of sequential topics, with a handful of bulleted talking points underneath each topic. When you hit start and begin talking in your own words, browser speech recognition captures your live transcript and sends batches of words to TypeSafe Jev (`jev-1.13.0` / `jev-latest`) after every twenty words or a brief three-second pause. Instead of looking for exact keyword matches, Jev scores how thoroughly you covered each remaining talking point in the active topic on a scale from one to five. The moment a point crosses your coverage threshold (defaulting to `2.5`), Intelliprompter lights it up green, locks that point so it never needs to be scored again, and automatically flips the screen to the next topic as soon as you finish the last bullet on the card.
Turning that concept into a self-hosted app I could run on my homelab and pull up on my phone was a blast. I teamed up with OpenAI Codex across two focused build sessions (the first session for the core FastAPI and Jev scoring engine and a second session for multi-user accounts and container security) to take the prototype all the way to a production Docker container. Working with Codex made it easy to knock out all the little quality-of-life details you only notice when you actually stand in front of a microphone: holding a browser Screen Wake Lock so your phone display never dims mid-sentence, deduplicating unchanged transcripts so pausing to take a sip of coffee never triggers a wasted API call, and packaging the interface as an installable Progressive Web App for Android and desktop Chrome.
Because I wanted friends and co-presenters to be able to log into my self-hosted instance, share speech outlines, and rehearse with their own API keys, I also built a multi-user account system with strict key isolation. While my admin account can score talks using the server's environment key, every regular user stores their personal TypeSafe Jev token inside SQLite sealed with `AES-256-GCM` using a key wrapped by `PBKDF2-SHA256` derived from their login password (which means even as the server administrator, I cannot decrypt someone else's Jev token at rest). I also had Codex wire up a ninety-percent test coverage gate across both the Python backend and the frontend state machine so changes stay rock solid. If you want to spin up your own instance in Docker, I put together a step-by-step walkthrough on By Design Won't Fix covering how to deploy Intelliprompter with TypeSafe Jev in Docker Compose.There is something genuinely magical about propping your phone under a camera, talking through a complex architecture diagram the way you would explain it to a friend over coffee, and watching the green progress bars tick off out of the corner of your eye (without ever losing your place or sounding like a robot). Pairing a small, blazing-fast evaluation model like TypeSafe Jev with an afternoon of focused building in OpenAI Codex turned a frustrating presentation chore into one of my favorite self-hosted tools on the rack; and it makes hitting the record button a whole lot more fun.
Later,
SteveO











