What can go on the glass?
Menus, welcome boards, live dashboards and custom kiosks.


Restaurant menus Specials, scheduled for breakfast, lunch or dinner.


Workplace screens Updates, video and web content together.


Hotel wayfinding Today’s sessions and where to find them.


Self-service kiosks Your own app; it supplies the interaction and its integrations.
Five primitives, one canvas
Mix what you already have with what your agent makes. A page can layer primitives, with at most one stream, and an MP3 soundtrack plays underneath without a break at page changes. Pages can cue a named track when they appear.
imagefinished stills: menus, posters, slidesvideoone uploaded rendition per clipstreamlive HLS feeds with an image fallbackiframean existing public web pageapplicationyour own interactive web app
Primitive /
imageFinished stills: a menu, then a pastry promo, each made once as an image.
Primitive /
videoOne uploaded clip, playing to the end before the next page.
Primitive /
streamA live HLS feed on the wall, with an image fallback if it drops.
Primitive /
iframeA public web page that allows embedding, live on the glass: here, rolling departures.
Primitive /
applicationYour own web app on its own origin. A visitor taps a fossil, and the app opens its page.
Playlist /
soundtrackA playlist setting, not a primitive: one MP3 track plays on while the pages change.
Everything a screen needs, run by your agent
Content, schedules, apps, Players, fleets and proof of what played.
Schedules
Dayparts and takeovers
Breakfast, lunch and dinner on the screen’s own clock. One screen takeover puts an announcement ahead of everything, then each screen returns to its schedule.
How it works
Give a screen a playlist schedule: breakfast, lunch and dinner playlists, each on its own days and hours in the screen’s timezone, with the assigned playlist in between. The server switches playlists within about a minute of each boundary, and Players need no update.
For an announcement, a launch or a drill, one screen takeover command puts a playlist ahead of everything on a screen or a tagged fleet, for up to 7 days or until cleared. When it ends, each screen returns to its schedule on its own.
Inside a playlist, schedule pages with date bounds and recurring day-and-time windows in the screen’s IANA timezone. Every playlist keeps an unscheduled page for when nothing else applies. Crossfade or swipe between pages, add entrance motion, and advance on a duration, at the end of a video, or when an app asks.
Fleet
Tag it once, run the whole fleet
Assign, reload, toast or retag every tagged screen in one request, then screenshot each one. Every screen reports its own result, so one failure doesn’t stop the rest.
How it works
Give each screen up to 16 tags, such as Lobby or Floor2. Your agent lists screens by tag, then assigns a playlist, reloads, sends a toast or retags every matching screen in one request for up to 500 screens, billed as one API request whatever the fleet size.
Each screen reports its own result, so a failure on one screen is named for that screen while the rest go ahead. To publish to a fleet, your agent creates the playlist once, assigns it by tag, then captures a screenshot from every tagged screen.
Verification
Proof, not promises
Publishing says whether the Player is playing the new content or only has it assigned, and why. Screenshots and per-play records confirm it.
How it works
Your agent requests a screenshot from one screen or every screen in a tagged fleet, reviews daily playback aggregates and follows project events. Publishing a screen reports whether the Player is playing the new content or only has it assigned, and why; a screenshot and playback evidence confirm what the Player showed.
Every visible start of an image or video is a play record. Your agent exports plays as CSV or JSON for any range up to 31 days, filtered by screen, media or tag, and daily totals as CSV; the dashboard exports the same files. Plays are kept at least 30 days.
Film / How your agent knows it’s playing
1:18
The agent publishes, then screenshots the glass, catches a cut-off menu row and fixes it before anyone notices.
Presence & health
Know when a screen drops
Offline, back online and health changes arrive as events, free, and signed webhooks can wake your agent before anyone notices a dark screen.
How it works
The project event log records screen.offline once a screen has been offline for 60 seconds and screen.online when it returns, so a quick reconnect stays quiet. Your agent watches both on the listen stream at no charge. The dashboard’s activity log shows them next to the screen, and its Screens view filters by tag.
Every Player reports uptime, memory, CPU load, temperature, display connection, network and recent crashes every fifteen minutes, and at once when the display connection or power changes. Your agent sees it with screen show, and the screen list flags a disconnected display, a hot device, repeated crashes or a silent Player. Changes arrive as screen.health_changed events on the listen stream and through webhooks, free like every screen event.
Register up to 10 HTTPS endpoints and screenRIG POSTs matching project events to them, signed with HMAC-SHA256: a screen going offline, a kiosk event, a playlist change. Your receiver checks the signature and wakes an agent, a bot or your own service. Failed deliveries retry with backoff for 24 hours, and every attempt is in a delivery log. Deliveries are metered like listen-stream events, and the same events stay free.
Kiosks
Apps with real state
A static web app on its own isolated origin, pinned in your playlist.
More
Package a static web app and it runs on its own isolated origin under
apps.screenrig.ai. Your playlist pins that release until you update it.The injected
window.screenrigruntime lets a controller app request the next page and emit named events your agent can act on. Application key/value state persists across releases, so your agent can update data without repackaging the app. Useemitfor application events andlogfor diagnostics.Players
Keeps playing offline
Each Player caches what it downloads and replays it locally.
More
Live streams need a connection, but their image fallback can display offline. Live web pages and connected apps can still need a network.
Players: the Player web app (PWA), Android on Google Play, Amazon Signage Stick, Apple TV, macOS, Windows, Linux and Raspberry Pi packages, Samsung Smart Signage (Tizen), and BrightSign. Every available Player shows a pairing code your agent uses to connect the screen.
Download the Player → Get it on Google Play → Install the Player →
Authoring
Slides rendered locally, free
Editable JSON in, finished region PNGs out, on your agent’s machine.
More
For slide-deck-like pages, your agent writes editable JSON, renders region PNGs and a
manifest.json, inspects them and iterates on its own machine. The Player receives the finished media. Local composition is unbilled.Power
Reboot and display power
Reboot a device or switch its display, now or on a schedule.
More
Your agent reboots a device remotely, or turns its display on or off now, on one screen or a tagged fleet. A display schedule sets the hours the display is on, and the Player applies it on the device, even offline.
Depending on the device, the Player switches the display with HDMI-CEC, DDC/CI, the backlight or an on-screen blackout, and reports the power it achieved.
Web pages
Your existing pages, on the wall
An iframe shows a public HTTPS page that allows embedding.
More
Use an iframe for a public HTTPS page that allows embedding; the page stays hosted by its owner. Publish checks HTTPS and rejects private addresses; it does not check whether the target allows framing. A blocked page fails at runtime and is recorded in the event log. An iframe cannot control the playlist or emit application events.
Media
One library, tagged by purpose
Upload what you have or generate a still; tags find it later.
More
Upload media you already have or generate a complete still through the bundled CLI; either lands in the project media library, ready for a playlist. Each object is stored as one rendition, with no per-device fallback. Tags help your agent find and update content by purpose.
Oversight
A dashboard for the people in charge
Screens, media, playlists, applications, playback, usage and activity across your projects, with one personal login. Content creation and playlist editing stay with the agent.
More
One personal login works across your projects. Use the dashboard’s project switcher to choose a project, then see its screens, media, playlists, applications, playback, usage and activity. The dashboard also supports screenshots and documented removal operations. Content creation and playlist editing stay with the agent and bundled CLI.
The unified Invitations page manages invitations for project members and ad buyers. Member invitations arrive by email by default and last 7 days; an explicitly requested member link lasts 24 hours. Ad-buyer invitations are email-only. Invited buyers see the seller’s inventory and rates in the Marketplace.
Accept an invitation by creating a passkey, or sign in with your existing login. Need to replace your sign-in method? A sign-in reset arrives only by email and lasts 1 hour. The dashboard URL is ordinary navigation, not a login credential.
Primitive support by platform
Compare the five content primitives across Player platforms.
| Player platform | Image | Video | Stream | Iframe | Application |
|---|---|---|---|---|---|
| Web / PWA | Yes | Yes | HLS | Yes | Yes |
Android (standard) | Yes | Yes | HLS + multicast¹ | Yes | Yes |
Android (amazon flavor) | Yes | Yes | HLS + multicast¹ | Yes | Yes |
| Linux (Qt, x86_64 artifact) | Yes | Yes | HLS + multicast¹ | Yes | Yes |
| macOS | Yes | Yes | HLS | Yes | Yes |
| Apple TV / tvOS | Yes | Yes | HLS | No | No |
| Windows | Yes | Yes | HLS | Yes | Yes |
| Samsung Smart Signage (Tizen) | Yes | Yes | HLS | Yes | Yes |
| BrightSign | Yes | Yes | HLS | Yes | Yes |
Platform notes
¹ Direct UDP/MPEG-TS multicast is optional and must be enabled on Android or Qt. It requires a network that carries the multicast group to the Player. Other Players use HLS; a multicast source can include an HLS alternative.
Apple TV supports images, video, and HLS streams. It cannot display iframe web pages or packaged web applications. A playlist containing either web primitive is rejected; the last accepted playlist stays active.
Every Player platform above also plays the playlist soundtrack. The Player web app starts it once the browser allows sound; see Soundtracks.
Sell advertising on your screens
Invite businesses to buy ad breaks on the screens you operate, through the same plugin and dashboard.
- 01
Offer your inventory
Opt a screen in and define ad slots. An adslot page in a playlist is the ad break; every other page keeps playing.
- 02
Invite your buyers
Advertisers join by emailed invitation and buy from your Marketplace. They need no screen.
- 03
Get paid per completed play
Set a rate per 15 seconds of completed playback. Skipped or interrupted plays aren’t billed, and an empty slot is skipped rather than shown blank.
Earned credits cover that project’s screenRIG usage automatically. The serving fee is 30% on Standard, 20% on Premium, and 10% on Enterprise. Advertising rates and serving fees · Buying and selling setup.
Free. Not a trial
Standard is the whole product, free for up to 100 screens. Screens replay what they download from their own storage, so a looping playlist costs nothing to keep running, and most fleets never use up the monthly allowance. Paid plans add more screens, people and contracts, never features.
Put your next idea on a screen
Install the official plugin, set up the Player, then ask your agent to publish and verify the result.




