DisplaySync

Dashboard tour

The dashboard at app.displaysync.live is your command center for an event. It runs in any modern browser; we use it on laptops, tablets, and (in a pinch) phones — though for phones the mobile app is faster.

This page is a structural tour: what each top-level section is for, what you'll find on each page, and the keyboard shortcuts worth remembering.

(New to DisplaySync? Start with Core concepts for the mental model — how Organization, Events, Signs, and Content nest — before diving into the dashboard surfaces below.)

Sign-in and org selection

After signing in (email/password or Google), you land on your default organization. If you belong to multiple orgs:

  • The org name appears in the top-right user menu — click it to switch
  • Each org has its own events, signs, and team

Roles within an org (owner, admin, member) determine what you can do. See Roles & permissions.

Top-level sections

The left sidebar surfaces two top-level destinations in V1:

SectionWho sees itWhat's there
EventsEveryoneEvery event in the current org, filtered by your event roles. The default landing page.
OrganizationOrg owners and adminsOrg details, members, invitations, billing, and the team-management UI.

Per-account preferences (password, notifications, push tokens) live in the user menu in the top-right.

Events

Default landing page. Lists every event in the current org.

Each row shows:

  • Event name + status badge (upcoming, active, completed, archived)
  • Venue + date range
  • Number of signs assigned
  • A live "online / total" sign counter that updates without refresh

Filtering: type-ahead search across event name + venue. Filters for status across the top.

Click an event to drop into the event detail.

Event detail

The most-used page on the dashboard once a show is running. Two tabs:

Overview (default)

  • A grid view of every sign in this event, with each card showing:
    • Sign name + location
    • Status indicator: green (online), gray (offline), red (error), yellow (unlinked)
    • Assigned URL (truncated)
    • Last heartbeat timestamp
  • A list view as an alternative — same data, denser, sortable by every column.
  • Add sign opens a dropdown with two options: Pre-register Sign (Flow B from Claiming signs) and Claim by Code (manual short-code entry alternative to the QR).

Team

  • Members assigned to this event with their event-role (manager, technician, viewer)
  • Add team member invites someone (or assigns an existing org member) to this specific event
  • Per-event roles override org roles for event-specific actions; org owners and admins carry implicit event-manager privilege without needing an explicit row

Sign detail (click any sign card)

The deepest page in the dashboard — everything about a single sign. The detail page has four tabs in V1:

  • Overview — the cards listed below
  • Content — assigned URL, content history
  • Analytics — uptime, heartbeat timeline, Event log
  • Settings — name, location, notes, removal

Overview tab

CardWhat it shows
Currently DisplayingWhat's on the wall right now (URL + render state)
UptimeOnline time this sign has logged in the current event
Sign InformationName, location, owning event, owning org
Current ContentThe assigned URL plus content type
Device InformationPlatform, OS version, hostname, MAC, screen resolution, RAM, CPU
NetworkIP, Tailscale IP, active interface, signal strength (Wi-Fi)
CommandsReboot app, reboot device, refresh, fetch logs, check for updates, set monitoring mode
Sign LogsLast fetched log bundle (download or copy)
Webpage URLEditable quick-set — save updates the kiosk within ~5 s
Sign SettingsPer-sign preferences (display orientation, audio defaults)
Danger ZoneUnlink, delete, reset

The set monitoring mode entry surfaces as Enter Monitoring / Exit Monitoring on the Commands card. See Remote control → Monitoring mode.

Content tab

The full content-management surface for this sign: assigned URL with edit history, content type, and (in V2 builds) the playlist / schedule attachment UI. In V1, this is where you set or change what URL the sign displays.

Analytics tab

Uptime over time, heartbeat timeline, and the Event log — individual analytics events as the kiosk emits them. The dashboard formats each event for human reading; if you ever see a raw event name (e.g. frame_anomaly instead of "Frame anomaly detected"), the dashboard build is older than the formatter coverage.

Analytics events surfaced in the Event log:

  • frame_anomaly — sign reloaded after rendering as a blank frame
  • page_frozen — sign reloaded after the page stopped responding
  • process_crash — a renderer or helper process crashed (renderer auto-reloads; GPU/utility/plugin crashes are logged only)
  • display_removed — monitor unplug detected
  • power_event — Windows power state change (resume from sleep, etc.)
  • on-battery — laptop running on battery (relevant for non-AC kiosks)

See Stability over features → Self-healing signs for what these signals mean operationally.

Settings tab

Name, location, notes, plus the unlink / delete actions that mirror the Overview tab's Danger Zone.

Live updates: the dashboard subscribes to that sign's events over the WebSocket. State changes appear within ~1 second of the kiosk emitting them — no refresh needed.

Organizations

Owner/admin only. Per-org settings:

  • General — name, logo, default language, default time zone
  • Members — invite, change roles, remove
  • Invitations — pending email invitations and their expiry
  • Billing — current tier, usage (sign-days this month, signs in fleet, members), Stripe Customer Portal link for self-service updates
  • API keys (v2) — when programmatic access lands

Notifications panel

The bell icon top-right opens an in-app notification feed:

  • Sign offline / online recovery
  • Content unreachable / recovered

A red dot indicates unread items. Clicking a notification deep-links to the relevant sign/event/setting.

Notifications covers the matching email and push channels and how to subscribe.

Profile / Settings

  • Password — change it, enable 2FA (when v3 lands)
  • Connected accounts — Google sign-in linkage
  • Notification preferences — opt in/out per channel, per-event subscriptions
  • Push tokens — manage browser push registrations across devices

Real-time behavior

A few dashboard-wide patterns worth knowing:

  • The WebSocket reconnects automatically if your laptop sleeps, the venue Wi-Fi drops, or you switch tabs. Stale data is replaced as soon as the connection comes back.
  • Optimistic updates: when you save a URL, the dashboard shows the new value immediately. If the server rejects the change, the dashboard rolls back and surfaces the error.
  • Multi-tab sync: if you have two dashboard tabs open and someone (you or a teammate) changes a sign in one, the other updates within a second.

What's next

  • Mobile app — when you're walking the floor instead of sitting at a laptop
  • Remote control — exactly what each command on the sign detail page does
  • Monitoring — interpreting the health cards in detail