Valendo
Valendo

A full teleprompter suite.

Script, timing, cards, monitors and the local network in one app for Windows and macOS — and you can rewrite any of it while the show is on the air.

Download — free for 15 days Pricing Manual
Version 1.8.0 No release yet
The operator window: the script editor on the left, an exact replica of the presenter's screen on the right
The operator's console. Editor on the left, the presenter's screen on the right, at its real resolution.
The suite

Six things a show needs

Not a scroller with extras bolted on. Every part of running a prompter lives in the same window, on the same keyboard, in the same project file.

The script

Import txt, md, docx and pdf. Ten tabs, chapters, stage directions, markers, presenters in their own colours, and undo that survives closing the app.

Timing

Words per minute on a ruler, elapsed and remaining, a target duration the pace bends to meet, loop with a delay.

The presenter's screen

Any monitor, identified before you send a show to it. Mirrored, rotated, blacked out or frozen on a key.

Cards

Images, video, messages, and standby screens the app draws itself — replacing the script, or riding over it like a lower third.

The network

One switch and any device on the wi-fi is a second prompter screen. Nothing to install.

The console

Three working layouts, a command palette, keys and MIDI mapped by pointing at the button itself, twenty themes, interface zoom, quick help on every key, six languages.

The progress line running the width of the console, with amber ticks at each chapter
The progress line, with a tick at every chapter.
Live editing

The part every operator has wanted

The left panel is the script. The right panel is what the presenter is seeing right now, at the output's real resolution. You type in one and the other changes — with the show live.

Every other prompter makes you stop, because they store the reading position in pixels. Change the text, the typeface or the margin and the layout reflows: pixel 4,200 is suddenly a different sentence, and the text jumps in the presenter's face.

Here nothing jumps. Fix a typo three paragraphs above the reading line, raise the type size, widen the margin — the word being read stays exactly where it is.

The script editor: a chapter in amber, a stage direction in blue on a tinted line
## opens a chapter. [square brackets] make a stage direction, never counted as words to be spoken.
The transport keypad with a large green play key
Space, or the big green key Restart, nudge back, play, nudge on, drop a marker.
The speed ruler and a large readout of 148 words per minute
Pace on a ruler The mouse wheel changes it anywhere in the app.
Elapsed and remaining time on two displays
Elapsed and remaining Or set a target duration and let the pace meet it.
The chapter list, each with its own duration
Chapters with durations Click one and the reading goes there.
Two people on camera

Everyone reads in their own colour

Select a name in the script, press the person key, and everything below that name reads in a colour of its own — in the editor, on the presenter's screen and on the network page. The next name picks up where the last one left off.

Chapters and stage directions keep their own colours and do not break the run: a direction in the middle of a speech does not hand the words to somebody else.

And the names can leave the output entirely. They leave the ruler with them, so the reading does not crawl through the gap where a name used to be — what stays is the colour, which is all the presenter needed the name for.

The presenter's screen with the names hidden: each speaker's lines in their own colour
The same script with the names suppressed. Nobody reads a name out loud by accident.
Presenter chips with a colour each, a hide key and a remove key
A chip each Pick the colour, rename by double-click, and the script is rewritten with it.
The global hide switch beside the Presenters title
Hide one, or all A switch per presenter, and a global one beside the title.
The FOLLOW and Go To keys in the Broadcast header
FOLLOW, and Go To The editor's caret trails the reading; Go To sends the reading to the caret.
The quick help box explaining whatever the mouse is pointing at
Quick help Point at any key or slider and the box says what it does, and its shortcut.
Local network

Any device on the wi-fi is a prompter screen

Flip one switch and the reading is published to a page on your own network. Point a phone's camera at the QR code and it is following the same script, at the same word, cards included. Nothing to install, nothing to pair, no cable across the studio.

That is the director, the floor manager, the presenter rehearsing in the dressing room and camera two on the far side of the room — all reading the same thing, on hardware everyone already has in their pocket.

It is the reading that travels, not a video feed. No NDI, no SDI, no screen capture: the same page redraws itself in each browser. That is why it works on ordinary wi-fi — and why card video can be told to go out lighter while the presenter's screen always gets the original.

Both pages answer on one port, and the port is yours to change. If something else on the machine already holds it, the app walks to the next free one and puts that address on screen and in the QR — you never meet the error.

The network panel: the live switch, the five video weight profiles, a QR code and the address
Only the tab that is on air is published. The others never leave the machine.
The same script being read on a phone held sideways
On the phone, seconds later The same script, the same word, in a browser tab.
Five video weight profiles: Original, High, Medium, Light, Minimal
Five weights for video A phone on wi-fi is not a monitor on a cable.
Remote

And a second door, where the phone runs the show

The reading page is read-only by design — nobody leans on a button by accident. So commanding lives behind its own switch, at its own address, with its own passcode.

Open it and you get a desk, not a remote. Scripts and chapters on the left. The programme in the middle, paragraph by paragraph, with the one being read lit. On the right the transport — play, step, restart, loop, pace, chapter and marker jumps, cards — and above it the glass.

The glass is the reading page itself, embedded. Not a drawing of it: the same address the presenter is looking at, with the same type, the same presenter colours, the same cards and video. It is the difference between fixing a line blind and fixing it while watching.

Two devices can open the link; only one holds the pen, and whoever has it is named on the operator's footer. One click there takes it back — the desk is the machine in the room with the show on it, and it always wins.

The command desk on a laptop: scripts and chapters on the left, the programme in the middle, the glass and the transport on the right
Every paragraph carries two keys: go to it, or play from it.
The same desk on a phone: tabs on top, paragraphs in the middle, transport under the thumb
One column, under the thumb The script is the only thing that scrolls. Pause stays where it was.
Editing the whole script from the phone, with the glass and the transport still live alongside
Edit a paragraph, or the whole script Your copy carries the version it was opened at. If the desk changed it while you typed, the save is refused and you are told — nothing is overwritten in silence.
Cards

Over the script, or instead of it

Images, video, messages and screens reach the presenter's screen with one click or a number key. Each card either replaces the script or rides over it — which is how a lower third and a caption share one screen.

Legibility over a card is a three-way choice: a dark band, a shadow behind each letter, or nothing at all.

Video plays the file as it arrived whenever the browser can handle it. When it cannot, ffmpeg first tries to change only the container — seconds, no pixel touched — and re-encodes only when the content genuinely will not fit an mp4.

A video card on air with the script scrolling over it on a dark band
A clip on air, with the script riding over it.
Four cards in the drawer: an image, a video with its player, a message and a screen
Image, video, message, screen Numbered, draggable, one key each.
A video card with scrub bar, volume, mute and loop
A player on every clip Scrub, volume, mute and loop, before it goes out.
Screens

A standby screen without opening Photoshop

The fourth kind of card is one the app draws itself. A colour, or two colours and an angle, or one of six slow animated backgrounds — drift, breathe, sweep, waves, bars, dust — with a message over it if you want one.

The difference is not about looks. An image card points at a file; a screen card is a handful of numbers. It weighs nothing inside the project, has no link that can go stale, needs no lighter copy made for the network, and the same numbers draw it at 176 pixels in the drawer and at full resolution on the glass.

The six effects are slow on purpose — a restless background argues with whoever is reading — and two sliders scale the whole set at once: how fast it moves, and how much the movement shows over the base colour.

The screen editor open over the console, with a live preview of the card above its controls
The preview at the size the decision needs.
The six animated backgrounds: drift, breathe, sweep, waves, bars, dust
Six ways to move All slow, all scaled by one speed and one intensity.
The screen editor: background, effect, speed, intensity, colours, message, size and placement
Eight regulations, one window Colour picked on a tile is not the colour on a 55-inch monitor.
The screen card filling the presenter's screen with its message
No file, no import Nothing to keep beside the project, nothing to break.
Output

The presenter's screen

Pick a monitor, flash a number on each screen to be sure which is which, then send the show. Mirror on either axis for teleprompter glass, rotate 90° for a panel mounted sideways, black out or freeze on a key.

If that monitor is unplugged mid-show, Valendo closes the output rather than leaving a window at coordinates that no longer exist.

Dim the edges fades the script away from the line being read, so the eye has one place to land. The clear window follows the reading mark wherever you put it, and a slider decides how wide it stays — from most of the screen down to a band about one line tall.

The presenter's screen: the reading line, the current sentence bright, what is coming dimmed
What the presenter reads. Mirror is off here so it is legible on this page.
The monitor picker and the Broadcast key
Choose, identify, broadcast Never guess which screen faces the presenter.
The reading controls: the mark, dim the edges, and how much
As tight as the room needs How much of the screen stays legible is yours to set.
The layout switch: Split, Focus, Desk
Split, Focus, Desk Operating, rehearsing, and planning the rundown.
Three ways to work

The console follows the job

Split is the picture at the top of this page — the editor and the presenter's screen together, which is how a show is operated.

Focus hides everything except the script and the transport, for the last rehearsal before air.

Desk turns the script into a rundown: every block with its word count, duration and on-air status, and a timeline across the top.

Every appearance control is live while the show runs — family, size, weight, line height, letter spacing, ALL CAPS, margin, horizontal position, words per line, alignment and colour presets.

Desk mode: a rundown of blocks with word counts and durations, and a timeline
Desk mode.
The appearance panel with sliders and reading-contrast swatches
Everything live Nothing here needs the show to stop.
Right-clicking a script tab: duplicate, rename, close
Ten scripts, one window Right-click to duplicate or rename. Drag to reorder.
The overlay style switch: band, shadow, none
Band, shadow, none How the script stays legible over a card.
The skin

Twenty ways for the app to look

Ten dark themes and ten light ones, eighteen of them carrying their own background artwork. The palette button sits beside the interface-scale control on purpose: those two answer the same question — how the app looks to you — while Settings decides what the presenter sees.

The background lives behind the chrome and nowhere else. The script editor, the Broadcast panel and the presenter's screen stay opaque in every theme: a texture behind the text you are typing during a live show is not a feature, and a Broadcast preview that lies about its own background stops being useful for checking anything.

Light mode peaks at grey, not white. An operator sits in a dim room facing this screen for hours, and a white panel there is a flash in the face.

Themes may change the state colours too — green for rolling, red for on air, amber for attention — which is what makes a genuine high-contrast theme possible. A palette in which those three stop being distinguishable does not ship: separation is measured on lightness, not hue, so the three stay apart for someone who does not separate green from red.

The app in a light theme, with marble artwork behind the chrome and the editing paper kept dark
A light theme, with the editing paper kept dark.
The ten dark themes in a two-by-five grid
Ten dark Side by side, not down a list.
The ten light themes in a two-by-five grid
Ten light Built downward from a grey ceiling.
The background strength slider and the button for your own image
Your own image At zero the app is exactly what it was.
The editing paper slider with a live swatch of paper and ink
Paper, not a switch The ink flips partway; the swatch shows it.
Shortcuts

Every button, mapped by pointing at it

Turn on mapping mode and the app paints a lit rectangle over every control that accepts a shortcut, with its current key printed inside. Click the one you mean and press the key — or press a pad on a MIDI controller. No scrolling ninety commands looking for the one that matches the button in front of you.

A band across the top stays there the whole time saying what the mode is and how to leave it. A mapping layer swallows clicks, including the play key, so it is a mode you must never forget you are in.

The full list is still there, searchable, with three columns: keyboard, mouse and control surface. And anything without a button at all is one search away in the command palette.

Mapping mode: every mappable control lit in purple with its current key printed on it
Mapping mode, with every key shown in place.
The shortcut list with keyboard, mouse and MIDI columns
Three columns Keyboard, mouse, control surface.
The command palette
The palette For what has no button anywhere.
The interface scale control
Interface zoom The whole console, not the text.
Marks and colour

Paint the script, do not annotate it

Select a passage and make it bold, italic, underlined or coloured, and it reaches the presenter's screen looking exactly like that. Nothing about the painting moves the words: bold is drawn with a stroke rather than a heavier weight, precisely so the line does not rewrap under the presenter's eye.

Find does more than find. It searches, replaces, and paints — type a word, choose a colour, and every occurrence in the script is marked at once. The guest's name in one colour, the sponsor's in another, across a forty-minute rundown, in one gesture.

The same picker serves presenter colours, script marks and screen cards. The grid comes in a saturated and a pastel tone, and a filter hides anything that would not read against the output's own background. Synergy is the other half: eight colours chosen by a search that maximises how far apart they stay from one another, so two presenters never end up in shades nobody can separate on glass at three metres.

A script with bold, italic and coloured passages
Painted, not typed.
The search bar: find, replace, and paint every occurrence
Find, replace, paint Every occurrence at once.
The colour grid with the saturated and pastel switch
Saturated or pastel With the unreadable ones filtered out.
Synergy: eight colours chosen to stay far apart
Synergy Eight that never get confused.
The ten embedded typefaces, each name set in its own face
Ten typefaces Inside the app, identical on both systems.
Privacy

It opens without opening your work

Valendo never restores the last script by itself. Opening a teleprompter in a studio that is not yours, or with the machine already mirrored to a wall, would otherwise put the previous show in front of whoever is in the room — and a script is a client's material.

The screen starts blank. Pick up where I left off is a deliberate click, and the list of recent projects can be emptied for good.

The welcome screen with the language choice and four ways in
Every launch, not only the first one.
Four ways in: continue, blank script, demo, open a project
Four ways in None of them happens without you.
Six language chips
Six languages Picked from the system, changed in one click.
How it works

Why nothing jumps

The reading position is a semantic anchor: { blockId, wordOffset }. Block seven, word thirty-four — a place in the text, not a pixel on the screen. After any reflow the pixel is recomputed from it, which is the whole reason editing on air is a normal thing to do here instead of a stunt.

A clock, not messages

The main process keeps three numbers: pace, where the reading started, and when. Each window solves the same equation. Nothing is sent per frame, so nothing can drift.

One component, two screens

The same code draws the broadcast and the operator's preview. The preview runs at the output's real viewport and only gets a scale. The replica is exact by construction.

Lines composed by words

A word rule decides where a line breaks, not the browser. Changing the type size changes the height of a line and nothing else.

The Reading Anchor goes through it properly.

Install

Three ways in

Windows 10 / 11

Run the -setup.exe from Releases. It installs per user, so it does not ask for an administrator password. SmartScreen warns about an unrecognised publisher — More info → Run anyway.

macOS, Apple Silicon

Open the .dmg, drag Valendo to Applications, then run this once in Terminal — before the first launch, and again for every version you download:

xattr -dr com.apple.quarantine /Applications/Valendo.app

It prints nothing and asks for nothing; silence means it worked. Without it macOS says "Valendo is damaged and can't be opened" and offers only Move to Bin. The app is not damaged — that is the message macOS gives a downloaded app it cannot verify with Apple, because this one is not notarised. The flag is applied by the browser, to that particular file, which is why a new download arrives flagged again.

Download from the command line instead and there is nothing to clean up, because the flag is never applied:

curl -L -o ~/Downloads/Valendo.dmg \
  https://github.com/samaBR85/Valendo-TeleprompterSuite/releases/latest/download/Valendo-1.8.0-arm64.dmg

Intel Macs are not shipped as a download, but the app builds and runs on them — see Building from Source.

From source

git clone https://github.com/samaBR85/Valendo-TeleprompterSuite.git
cd Valendo-TeleprompterSuite
npm install
npm run dev

The rest — the other commands, the project layout, the tests — is in Building from Source.