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:
| Section | Who sees it | What's there |
|---|---|---|
| Events | Everyone | Every event in the current org, filtered by your event roles. The default landing page. |
| Organization | Org owners and admins | Org 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
| Card | What it shows |
|---|---|
| Currently Displaying | What's on the wall right now (URL + render state) |
| Uptime | Online time this sign has logged in the current event |
| Sign Information | Name, location, owning event, owning org |
| Current Content | The assigned URL plus content type |
| Device Information | Platform, OS version, hostname, MAC, screen resolution, RAM, CPU |
| Network | IP, Tailscale IP, active interface, signal strength (Wi-Fi) |
| Commands | Reboot app, reboot device, refresh, fetch logs, check for updates, set monitoring mode |
| Sign Logs | Last fetched log bundle (download or copy) |
| Webpage URL | Editable quick-set — save updates the kiosk within ~5 s |
| Sign Settings | Per-sign preferences (display orientation, audio defaults) |
| Danger Zone | Unlink, 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 framepage_frozen— sign reloaded after the page stopped respondingprocess_crash— a renderer or helper process crashed (renderer auto-reloads; GPU/utility/plugin crashes are logged only)display_removed— monitor unplug detectedpower_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