PteroPrompter The P is silent.
The teleprompter that runs your entire take

Your script runs the show.

Write markdown, press play — it counts you in with 3·2·1·SMILE·GO, rolls OBS, follows your voice through the script, advances your slides, and hands your editor timestamped markers.

SLIDE 1 · cold open140 WPM

OBS · SCENE · FULL-CAM-NORMAL Good evening, and welcome to The Back Row, where we take cinema seriously occasionally more seriously than it takes itself. MARKER · LOGO-STING Tonight: Wobble Street, season fifty-four, episode twelve. The Muffin.

OBS · SCENE · FULL-SCREEN But first, MARKER · AD-FILMSTOCK tonight's episode is brought to you by Filmstock, the streaming service for people who describe films as texts. Two thousand titles, and a search box that has never once found the one you wanted. filmstock.example.

PROMPTER · PAUSE · 5S

PROMPTER · ROLLBACK · SCRIPT-START

**bold** vocal stress *italic* aside `code` identifier "quote" quotation ⟨directive⟩ never spoken⟨OBS::scene⟩ show control

What it does

01 · SCRIPT

Markdown in, show out

Bold is vocal stress, italic an aside, `backticks` code, "quotes" sage. The color key trains your delivery while you read it.
02 · CONTROL

Show-control directives

Inline chips are never spoken, never counted toward scroll speed, and always logged as cues — a scene cue lands as an edit marker on its own, and drives OBS live the moment you arm it.
03 · COLD OPEN

The composed cold open

A 3·2·1·SMILE·GO countdown; recording auto-rolls at the start. No scrambling for the mouse on camera.
04 · OBS-NATIVE

Pinned to real timecode

Connects to OBS and pins every cue to the recording's own timecode — so your markers still match the footage even when the clocks drift.
05 · EXPORT

Edit-ready markers

One click exports the take's cue log as CSV: chapters, retake flags, and b-roll spans drop onto your editor's timeline as markers. DaVinci Resolve ready today.
06 · SAFETY

Take insurance

A staleness guard hash-checks the script at GO and won't record a stale page. The cue log survives refreshes, so a take's markers can't be lost.
07 · FOLLOW MODE

It follows your voice

A speech sidecar hears what you actually say and moves the script with you — lose your place and it waits; read on and a held pause releases. No sidecar running? It coasts at your set pace, exactly as before.
08 · EYELINE

Framing without the glance

Your OBS virtual camera or a raw camera feed, faint and centered right on the reading line, so you can check your framing without ever breaking eye contact with the lens.
09 · SLIDES

The deck keeps up

[SLIDE 12] headings advance your deck as you reach them — no clicker, no second operator watching for your nod.
  • · Pickup & teaser sections with their own take clock
  • ·Retake-aware chapter logging
  • · Beam-splitter mirror mode — flips the script, never the controls
  • · A draggable reading line every cue's timecode fires against

On the way

NEXT · VOICE

Say the cue, it fires

The sidecar already hears you. The same command bus your ⟨tokens⟩ run through will take spoken commands — pause, next scene, mark that — so the show runs without your hands leaving the desk.

NEXT · REMOTE

A remote in your hand

It's all websocket already, so a second device — phone, laptop, Stream Deck, iMac — becomes a remote: play, pause, pace, jump a section, without touching the machine you read from. The hands-free fallback for when the speech sidecar isn't an option.

NEXT · SLIDES

Builds on cue, not just slides

Auto-advance moves the deck today. Next, the same [SLIDE] grammar fires builds, transitions, and animations exactly when you reach them.

How it works

1

Write

Plain markdown plus ⟨chips⟩ for every cue. The document is the entire show.

2

Record

Countdown, auto-roll, and a live cue log ticking against the recording's own timecode.

3

Edit

Export CSV → timeline markers, YouTube chapters ready. One person, one take, edit-ready metadata.

Built at Artisan Build to ship 'This Week in PHP Internals' every week.

PteroPrompterAn Artisan Build product · © 2026