Skip to content

managedcode/PrompterLive

Repository files navigation

PrompterLive

PrompterLive is a browser-first teleprompter and rehearsal tool for authors, speakers, streamers, editors, and production teams.

It is not a server product and not a desktop wrapper. The current runtime shape is a standalone Blazor WebAssembly app that boots directly in the browser, stores working state on the client, uses browser camera and microphone APIs, and can publish its WebAssembly build to GitHub Pages.

Production URL

PrompterLive is published as a repository Pages site. After the publish workflow runs, the WebAssembly artifact is served as a static site with no separate backend.

What It Is

PrompterLive combines several workflows into a single product:

  • Library for script and folder management
  • Editor for TPS authoring and speech-structure editing
  • Learn for RSVP rehearsal mode
  • Teleprompter for the classic reading surface
  • Go Live for browser-side live output, preview, and routing
  • Settings for camera, microphone, theme, and runtime preferences

Architecture map: docs/Architecture.md

Key Properties

  • standalone Blazor WebAssembly runtime with no server backend
  • UI ported from new-design/ as the design source of truth
  • TPS-focused editor for prompt-ready scripts
  • RSVP/Learn mode with ORP-style word rendering
  • browser-side media scene, device setup, and live preview
  • Go Live runtime with LiveKit and VDO.Ninja outputs
  • browser-local document and settings storage
  • browser-realistic acceptance tests through Playwright

RSVP Inspiration

PrompterLive does not visually copy Squirt, but the Learn mode is directly inspired by the RSVP logic and pacing approach behind Squirt-style readers.

In practice that means:

  • ORP-style focus on a key letter inside each word
  • word timing that reacts to word length and punctuation
  • natural pauses after commas, periods, and stronger phrase boundaries
  • a custom UI and layout adapted to PrompterLive, not a raw Squirt clone

Canonical inspiration: cameron/squirt

Technical Model

Further reading:

App Version

The app version is shown in Settings > About.

Current scheme:

  • local builds: 0.1.0
  • CI builds: 0.1.<github.run_number>

Version source of truth:

Versioning and Pages workflow details: docs/Features/AppVersioningAndGitHubPages.md

Local Run

Requirements:

Run:

cd src/PrompterLive.App
dotnet run

Useful commands:

dotnet build /Users/ksemenenko/Developer/PrompterLive/PrompterLive.slnx -warnaserror
dotnet test /Users/ksemenenko/Developer/PrompterLive/PrompterLive.slnx
dotnet format /Users/ksemenenko/Developer/PrompterLive/PrompterLive.slnx
dotnet test /Users/ksemenenko/Developer/PrompterLive/PrompterLive.slnx --collect:"XPlat Code Coverage"

Deploy

Publish runs through the GitHub Actions workflow:

What it does:

  • builds src/PrompterLive.App
  • injects the CI build number into the app version
  • takes the published wwwroot
  • rewrites base href for the repository Pages path
  • adds 404.html for client-side routing
  • deploys the artifact to GitHub Pages

Official platform reference: GitHub Pages

Stack

Browser Media And Streaming Stack

PrompterLive is a browser-first media app, so it relies on standard Web APIs and a thin interop layer:

Integrated streaming and media projects:

Pinned vendored SDK policy and version tracking:

Currently pinned in the repository:

  • livekit/client-sdk-js v2.18.0
  • steveseguin/vdo.ninja v29.0

Fonts, Icons, And Visual Sources

Credits And Inspirations

These are the external projects, APIs, and references that PrompterLive builds on:

Platform And Runtime

Test Infrastructure

Browser Media And Streaming

RSVP And Speed-Reading Inspiration

Typography And Icons

If we missed someone in the credits, open an issue or PR and add the attribution explicitly instead of leaving the dependency implicit.

License

This project is licensed under MIT.

Releases

No releases published

Contributors