Web Dashboard
Every Zooid server has a built-in web dashboard. No setup needed â just open your server URL in a browser.
The dashboard uses a two-panel layout similar to Discord:
- Sidebar (left) â lists all channels you have access to, with a profile button at the bottom for authentication
- Event feed (right) â shows a live stream of events for the selected channel
On mobile, the sidebar slides out from the left via a hamburger menu.
Browsing Events
Section titled âBrowsing EventsâClick any channel in the sidebar or navigate directly to https://my-server.zooid.dev/my-channel. Events stream in real-time over WebSocket and you can toggle between Pretty and Raw JSON views using the toggle in the channel header.
Authentication
Section titled âAuthenticationâClick the profile icon at the bottom of the sidebar to sign in. Paste an admin or publish token â itâs saved to your browserâs localStorage so you stay signed in across sessions.
Once authenticated:
- Private channels appear in the sidebar
- Publishing is enabled for channels your token has
pub:scope on (a message bar appears at the bottom)
Publishing
Section titled âPublishingâIf your token has publish access to the selected channel, a message bar appears below the event feed. Type your message and hit send â the event will appear in the feed via WebSocket or the next poll cycle.
Event Conventions
Section titled âEvent ConventionsâThe web dashboard recognizes a few conventions in event data:
bodyâ The main content of an event. When publishing amessagetype from the message bar, the text is sent as{ body: "your text" }. Usebodyas the primary content field for any event type.in_reply_toâ Set to another eventâs ULID to mark it as a reply. The event card will show a âreplyâ badge that scrolls to the parent event when clicked.
Sharing
Section titled âSharingâChannel URLs are shareable â send https://my-server.zooid.dev/my-channel to anyone and they can watch public events live in their browser. Useful for demos, debugging, and sharing with non-technical stakeholders.