A lightweight, zero-dependency, privacy-first in-browser teleprompter and video recorder. Built specifically for recording job pitches, presentations, async video intros, demos, and speeches with flawless eye contact and zero stress.
π Launch Live Web App
Most online teleprompters and recording tools suffer from one or more drawbacks:
- π« Paywalls & Subscriptions for basic video recording.
- π« Watermarked exports or resolution limits.
- π« Privacy risks β uploading your camera feed and voice to third-party cloud servers.
- π« Clunky interfaces that make you look away from the camera lens.
This application is 100% free, open-source, and runs entirely inside your browser. Zero bytes of video or audio ever leave your computer.
- ποΈ Eye-Line Contact Guide: A dedicated guideline positioned right at the top 25% of your screen directly beneath the webcam lens, keeping your gaze natural and focused on your audience.
- πͺ Ghost Camera Mirror & Draggable PiP: Displays your live webcam feed behind the scrolling prompter text or in a draggable PiP box, allowing you to monitor your posture, lighting, and framing in real time.
- πΉ Integrated HD Video Recording: Records crisp 1080p video directly from your webcam with support for both universal MP4 (H.264/AAC) and high-quality WebM (VP9/VP8/Opus).
- ποΈ Microphone Audio Level (VU) Meter: Real-time Web Audio API frequency analysis visualizer ensures your microphone is live and balanced before you start speaking.
- β±οΈ 3-2-1 Action Countdown: Smooth 3-second animated countdown overlay gives you time to smile, center yourself, and breathe before recording and scrolling begins.
- πΎ Instant Auto-Save & Take Review Player: When you finish or hit Esc / S, the video take is automatically downloaded directly to your local
Downloadsfolder, and an instant preview player opens with take duration, file size, and retake controls. - βοΈ Fully Customizable Prompter:
- Scroll Speed: Precision adjustment from
0.5xto8.0x. - Font Sizing: Adjustable from
20pxto72px. - Column Width: Adaptable from
250pxto1000px(optimizing for 2β4 words per line for minimal horizontal eye movement). - Paragraph Gap: Adjust spacing between thoughts from
0.00emto2.00em.
- Scroll Speed: Precision adjustment from
- β¨οΈ Comprehensive Keyboard Shortcuts: Control playback, speed, font, and review with simple single-key shortcuts.
- π Markdown & Text File Support: Load any
.mdor.txtspeech script from disk via the "π Open .md File" picker, or place ascript.mdfile next toindex.htmlfor instant auto-loading. Headings, bold text, italics, and bullet lists are automatically formatted. - πΎ Automatic Local Persistence: Custom text edits and prompter preferences are automatically saved in browser
localStorage. - π 100% Offline & Zero Dependencies: Pure HTML5, CSS3, and Vanilla JavaScript in a single lightweight file. No
npm, no bundlers, no external CDNs.
| Key | Action |
|---|---|
| Space | Play / Pause scroll and recording |
| Esc or S | Stop & Preview Take (Auto-saves video & opens review player) |
| R | Reset prompter to top & reset timer |
| β / β | Speed Up / Slow Down scrolling speed |
| [ / ] | Decrease / Increase font size |
| F | Toggle Fullscreen mode |
No. All video encoding and downloading happens 100% client-side directly inside the browser using modern Web APIs:
[Webcam & Mic]
β (WebRTC getUserMedia)
[MediaStream Track] ββ> [Web Audio API Analyser (VU Meter)]
β
[MediaRecorder API (Client-Side Encoding)]
β
[In-Memory Binary Blob (Local RAM)]
β (URL.createObjectURL)
[Native Browser File Download to your Machine]
- Video Processing: Frames from
navigator.mediaDevices.getUserMediaare passed into the browser's nativeMediaRecorderAPI. - File Creation: When you stop recording, binary chunks are assembled into a local
Blob. - Instant Save: A local
blob:URL triggers a native browser download (<a download>). No network traffic is generated. - Zero Telemetry / Zero Tracking: No analytics, cookies, or external trackers.
Visit https://prostopasta.github.io/teleprompter/ in any modern web browser (Chrome, Brave, Edge, Firefox, Safari).
You can run this project locally without any web server or internet connection:
# Clone the repository
git clone https://github.com/prostopasta/teleprompter.git
# Open index.html in your browser
xdg-open teleprompter/index.html # Linux
open teleprompter/index.html # macOS
start teleprompter/index.html # WindowsOr run a local static server:
cd teleprompter
python3 -m http.server 8080
# Open http://localhost:8080 in your browser| Browser | Camera Preview | Audio Meter | MP4 Recording | WebM Recording |
|---|---|---|---|---|
| Google Chrome / Chromium | β | β | β | β |
| Brave | β | β | β | β |
| Microsoft Edge | β | β | β | β |
| Mozilla Firefox | β | β | β | |
| Apple Safari | β | β | β |
This project is open source and available under the MIT License.
Developed with β€οΈ by Pavel Statsenko.