A cross-platform desktop teleprompter application built with React, TypeScript, Vite, and Neutralino/Buntralino. Perfect for video production, presentations, and live performances.
- Rich Text Editing: Edit your scripts with a built-in rich text editor
- Customizable Appearance:
- Adjustable font size (5-15 rem)
- Custom font and background colors
- Customizable instruction text color
- Auto-Scroll: Automatic scrolling with adjustable speed (0-100)
- Placemarker: Visual indicator to help track your reading position
- Flip Modes: Mirror your text horizontally, vertically, or both for teleprompter setups
- File Management:
- Load and save plain text files (.txt)
- Save and load complete projects (.json) with all settings
- Cross-Platform: Works on Windows, macOS, and Linux
- Bun (v1.0.0 or later) - The JavaScript runtime and package manager
git clone git@github.com:BruceRoyce/FreeTeleprompter.git
cd teleprompterbun installbun run buildGo to the build folder that bun builder creates. Choose the correct subfolder based on your machine (eg. Windows x64, or Mac OS, etc.) and run teleprompter.exe or teleprompter.app file.
for example for Windows x64: build/Windows x64/teleprompter.exe
or for macOS x64: build/MacOS x64/teleprompter (or build/MacOS x64 App/teleprompter.app)
To run the application in development mode:
bun run devThis will:
- Start the Vite development server
- Launch the Buntralino desktop application
- Enable hot module replacement for fast development
To build the application for production:
bun run buildThis command will:
- Build the React application using Vite
- Package it as a desktop application using Buntralino
- Create platform-specific executables in the
build/directory
The build process creates executables for multiple platforms:
- Windows x64:
build/Windows x64/teleprompter.exe - macOS x64:
build/MacOS x64/teleprompter(orbuild/MacOS x64 App/teleprompter.app) - macOS arm64:
build/MacOS arm64/teleprompter(orbuild/MacOS arm64 App/teleprompter.app) - Linux x64:
build/Linux x64/teleprompter - Linux arm64:
build/Linux arm64/teleprompter
If you see warnings about "Resource section" or "pe-library" during the Windows build, this is a known issue with metadata patching. The application will still build and function correctly - only the icon/metadata embedding may fail, which doesn't affect functionality.
-
Setup Page: When you first open the app, you'll see the Setup page where you can:
- Load a text file or project file
- Configure teleprompter settings
- Customize appearance
- Navigate to the editor or start the prompter
-
Editor Page: Click "Edit Script" to:
- Edit your script text with rich text formatting
- wrap any text in square brakets to mark them as "instructions"
- Save your changes and return to setup
-
Prompter Page: Click "Run Teleprompter" to:
- View your script in full-screen prompter mode
- Use auto-scroll (if enabled) with play/pause controls
- Manually scroll through your script
- Return to setup to make changes
- Click "Load Text File" in the File Operations card
- Select a
.txtfile from your system - The text will be loaded into the editor
- Enter or edit your script text
- Click "Save Text File"
- Enter a filename (without extension)
- Choose where to save the
.txtfile
- Configure your settings and script
- Click "Save Project"
- Enter a filename (without extension)
- Choose where to save the
.jsonfile - Projects save both your script text and all settings
- Click "Load Project"
- Select a previously saved
.jsonproject file - Your script and settings will be restored
- Auto Scroll: Enable/disable automatic scrolling
- Scroll Speed: Adjust from 0 (slow) to 100 (fast)
- Placemarker: Show/hide a visual indicator at your reading position
- Font Size: Adjust from 5 to 15 rem
- Font Color: Choose the text color (hex code)
- Background Color: Choose the background color (hex code)
- Instructions Color: Choose the color for instruction text (hex code)
- Flip Mode:
- None: Normal display
- Horizontal: Mirror left-to-right (for teleprompter mirrors)
- Vertical: Flip top-to-bottom
- Both: Flip both ways
- Use your mouse wheel or trackpad to scroll manually in prompter mode
- Click and drag the scrollbar for precise control
teleprompter/
├── src/
│ ├── components/ # React components
│ │ ├── AppearanceCard.tsx
│ │ ├── FileOperationsCard.tsx
│ │ ├── SettingsCard.tsx
│ │ └── settings/ # Settings UI components
│ ├── pages/ # Main application pages
│ │ ├── SetupPage.tsx # Configuration and setup
│ │ ├── EditorPage.tsx # Script editor
│ │ └── PrompterPage.tsx # Teleprompter display
│ ├── services/ # Business logic
│ │ └── fileService.ts # File I/O operations
│ ├── styles/ # CSS styles
│ ├── types.ts # TypeScript type definitions
│ ├── App.tsx # Main app component
│ └── main.tsx # Application entry point
├── public/ # Static assets
├── app/ # Built application assets
├── build/ # Production builds
├── neutralino.config.json # Neutralino configuration
├── vite.config.mts # Vite build configuration
└── package.json # Dependencies and scripts
- React 19: UI framework
- TypeScript: Type safety
- Vite: Build tool and dev server
- Neutralino: Desktop application framework
- Buntralino: Bun integration for Neutralino
- Bun: JavaScript runtime and package manager
- Windows metadata patching warnings: These are harmless and don't affect functionality
- Build fails: Ensure you have Bun installed and all dependencies are installed with
bun install
- File operations fail: Ensure you have proper file system permissions
- Auto-scroll not working: Check that "Auto Scroll" is enabled in settings and click "Play Auto Scroll" in prompter mode
MIT
Contributions are welcome! Please feel free to submit a Pull Request.
Built with Buntralino and Neutralino.
