I Built a Physical Dashboard for My AI Workflows — Here's How
I run a lot of Claude conversations at the same time. Some are building presentations, some are researching competitors, some are crunching warehouse data. The problem? I had no idea which ones were done.
So I built a live dashboard that shows me — on a screen next to my desk — exactly what Claude is doing across all my conversations, in real-time.
## The Problem
If you use Claude seriously — Cowork, Claude Code, the desktop app — you're probably running multiple conversations in parallel. Maybe one is drafting an investor deck while another is pulling together KPIs for your ops team. You tab between them, but there's no single place to see: what's still working, what just finished, and which conversations have been the busiest.
I wanted a build monitor for AI work. Something I could glance at the way an engineer glances at their CI dashboard. Not a browser tab I'd forget about — a physical screen on my desk.
## What I Built
The Claude Workstream Dashboard is a SimSense Sim that displays live agent activity. It runs on any browser — I have it on an iPad propped up next to my monitor.
Here's what it shows:
Left panel — Active Chats. Each conversation gets a status orb. Terracotta and pulsing means Claude is actively working. Green means done. Gray means idle, waiting for my next message. The chat names are derived from whatever I first asked — "Investor Deck", "GM Scorecard", "Café Cost Tool".
Top right — Cycles Chart. A horizontal bar chart ranking conversations by how many task cycles they've completed. At a glance I can see that my investor deck session has gone through 8 cycles while the cost calculator only needed 3.
Bottom right — Activity Stream. A real-time feed of completed tasks with timestamps and chat name tags. New items slide in with a subtle glow animation.
The whole thing is styled in Claude's design language — warm cream backgrounds, terracotta accents, clean Inter typography. It looks like it belongs next to the Claude app.
## How It Works
The magic is surprisingly simple. SimSense provides real-time state via WebSocket, and Claude in Cowork has direct access to SimSense tools. So the signal path is:
Claude (Cowork) → SimSense state update → WebSocket → Dashboard on any device
When Claude starts a task, it pushes a "working" signal. When it finishes, it pushes "done" and increments the cycle count. The dashboard subscribes to these state changes and updates instantly — no polling, no refresh needed.
The protocol is two namespaces:
- agents — one key per conversation, tracking name, state, current task, and cycle count
- stream — one key per activity event, building the timeline
## Making It Automatic: The Skill
Pushing signals manually every time would get old fast. So I turned it into a skill — a set of instructions that Claude follows automatically in every Cowork session.
The skill tells Claude: before you start real work, push a "working" signal. When you're done, push "done" and log it to the stream. If someone asks a quick question that doesn't involve tools, skip the signal — the dashboard tracks real work, not chitchat.
It also handles multi-step sessions. If I ask Claude to research something and then follow up with "now draft an email about it," that's two cycles in the same conversation. The skill maintains a consistent chat identity and increments the count.
## Making It Shareable: The Plugin
Here's where it got interesting. The first version had my SimSense Sim ID hardcoded. Great for me, useless for anyone else.
So I packaged it as a Cowork plugin with two components:
1. */setup-workstream command** — creates a personal dashboard Sim for whoever installs the plugin. Run it once, get your own dashboard URL.
2. *workstream-signal skill** — reads the Sim ID from config (created by setup), then auto-signals in every session.
Now anyone with Cowork and SimSense can install the plugin, run one command, and have their own live dashboard. No code, no config files to edit, no API keys to manage.
## What's Next
A few things I'm thinking about:
Usage analytics. Anthropic has a Usage and Cost API that exposes token consumption by model, workspace, and API key. I'd love to add a panel showing daily token spend and cost trends — turning the dashboard into a full Claude command center.
Physical devices. The dashboard runs in any browser, but I'm eyeing ESP32-based displays — think small ambient screens or pixel displays that show Claude's status through color alone. Imagine a little orb on your desk that glows when your AI is working.
Team view. Right now each person gets their own dashboard. But there's a version where a team shares one board — everyone's Claude conversations visible on a conference room screen. A real-time view of what the whole team's AI fleet is doing.
## Try It
The Claude Workstream plugin is available now. Install it in Cowork, run /setup-workstream, and point any screen at the URL. Then just work normally — Claude handles the rest.
It's a small thing, but it changes how it feels to work with AI. When you can see the work happening — the orbs pulsing, the stream filling up, the cycle counts climbing — it stops feeling like you're shouting into a void and starts feeling like you have a team.