Dashboard
Real-time overview · Live sync
Online Screens
—
of — registered
Active Playlists
—
In library
Broadcasts Today
0
This session
Active Schedules
—
Running now
Connected Screens
No screens connected
Activity● Live
Quick Controls
Screens
Manage individual displays · Click to control
No screens registered
Go to Add Screen
Go to Add Screen
Activity Log
All system events
Analytics
Proof-of-play impressions by screen and playlist
Total Impressions
—
Active Screens
—
Slide Types Shown
—
Impressions by Hour
By Slide Type
Per-Screen Breakdown
| Screen | Impressions | Top Slide Type | Last Seen Slide |
|---|---|---|---|
| Select a date to view data | |||
Playlists
Build and manage content playlists
Schedules
Route content by time, date, and location
Media Library
Upload files, paste URLs, add YouTube — all slide-ready
Drop files here or click to browse
Images: JPG, PNG, GIF, WebP, SVG · Videos: MP4, WebM, MOV, AVI · Documents: PDF
700 KB upload limit — large files must be added by URL (CDN, S3, Cloudflare R2, etc.)
700 KB upload limit — large files must be added by URL (CDN, S3, Cloudflare R2, etc.)
No media yet — upload files or add URLs
Live Metrics
Push KPI data to metrics slides in real-time
Simulate
Ticker
Manage scrolling text bands shown across all screens
No tickers yet — create one to add a scrolling band to your screens
Broadcast
Send live commands to screens instantly
Announcement
Interrupt playlist with a full-screen message
⬡ All Screens
Push Playlist
Video Command
Web Embed
Social Feeds
Display live social content on your screens
Step 1 — Embed Widget (works now, zero code)
Elfsight · Tagembed · EmbedSocial
Sign up at elfsight.com, tagembed.com, or embedsocial.com — connect your Instagram, Facebook, LinkedIn, or TikTok — then paste the embed URL below as a Social slide in any playlist. No API keys required.
Step 2 — Instagram API (auto-refresh via Netlify Function)
Requires: Netlify deploy + Instagram Basic Display API token
The included Netlify Function (
netlify/functions/instagram-feed.js) polls your Instagram account and writes new posts directly to Firebase as image slides. Set your token below and it activates automatically on deploy.
Setup Steps
1. Go to developers.facebook.com/apps → create an app → add Instagram Basic Display
2. Add your Instagram account as a test user and generate a long-lived access token
3. In your Netlify dashboard → Site settings → Environment variables → add
4. Redeploy — the function runs every time it's called and can be triggered on a schedule via Netlify scheduled functions
2. Add your Instagram account as a test user and generate a long-lived access token
3. In your Netlify dashboard → Site settings → Environment variables → add
INSTAGRAM_TOKEN and SIGNAL_FIREBASE_URL and SIGNAL_FIREBASE_KEY4. Redeploy — the function runs every time it's called and can be triggered on a schedule via Netlify scheduled functions
Social Slides in Playlists
No social slides yet — add one above
Add Screen
Generate a pairing code or QR for any display
Pairing Code
—
—
1. Open screen.html on your display browser
2. Enter the code above — or scan the QR
3. Fill in screen name, location, and group
4. The screen appears in your dashboard instantly
2. Enter the code above — or scan the QR
3. Fill in screen name, location, and group
4. The screen appears in your dashboard instantly
Groups & Locations
When a screen pairs, it registers with a name, location, and group. Use these to route scheduled content to specific displays.
Pending Pairs
Generate a code to start
WhatsApp
Live moderation · Display control · Spotlight queue
Message Queue
No messages yet
Spotlight Queue
Pushed to screens immediately, any mode
No messages spotlighted yet — click ★ Spotlight on any message
Display Mode
Toast
Animated bottom-left banners
Full Screen
Cinematic single-message takeover
Chat Wall
Live social bubble wall
Slideshow
Large-format card carousel
Ticker
Scrolling marquee band
Social Wall
Grid cards · Event & festival style
Spotlight
One big message · LED wall / stadium
Bubble Wall
WhatsApp bubbles · Familiar & personal
Social Wall / Spotlight / Bubble Wall are new premium display concepts designed for large social spaces, events, and LED walls.
Social Display Settings
Show phone on screen
Display number / QR invite in header
Moderation
Auto-approve
Messages go live instantly, no queue
Profanity filter
Auto-block common expletives
Auto-expire messages
Remove from screen after N minutes
min
Keyword Blacklist
Display Options
Settings
Firebase, Ably, and player defaults
🎬 Demo ContentSample Data
Load a full showcase playlist that demonstrates every slide type: Hero, Metrics, Announcements, Image, Video (MP4), YouTube, Web embed, and Social Feed. Also creates a sample schedule and ticker. Will not overwrite existing data.
Supabase ConfigConnected
Player Defaults
Data Management
📊 Data Usage ControlsSupabase Quota
Control which high-frequency Supabase write features are active. Disabling screenshots and reducing heartbeat frequency are the most effective ways to reduce database write quota.
Thumbnail captured on every slide transition (~40 KB each write)
Logs an impression write to Firebase on every slide view
60s
💡 Recommended for free tier: Disable Auto Screenshots · Enable Analytics · Set Heartbeat to 60s+.
Screenshots can still be triggered manually from each screen card.
Cloud StorageMedia Uploads
Configure external storage so the Media Library can accept files larger than the 700 KB Firebase limit. Credentials are stored in your browser only — never sent to Anthropic or any third party.
Supabase Storage
Postgres-backed object storage. Requires a Supabase project with storage enabled.
Custom Upload Endpoint
POST multipart/form-data to your own endpoint. Receives file, returns
{"url":"…"}.