Skip to main content
The Dashboard command center — project health, agent activity and pending decisions on one calm board.
The Dashboard command center — project health, agent activity and pending decisions on one calm board.

Solo builder · AI-assisted

Sky Halisky

Claude Corp Dashboard

A live command center for an AI agent team — agent feed, decision queue, blocker board, health scores. Fully drivable demo running on synthetic data.

Status
Live demo — synthetic data
Role
Solo builder · AI-assisted
Year
2026

Tech

  • Next.js
  • React
  • TypeScript
  • Tailwind
  • NextAuth

Tags

  • dashboard
  • agents
  • tools

The problem

I’d been coordinating a small team of AI agents — a project manager, engineers, a designer, a security reviewer — across several projects at once. The work was getting done, but I had nowhere to actually see it. Who’s active right now? What decisions are waiting on me? Which blocker is about to slip? It all lived in scattered reports and commit logs. I wanted a cockpit.

The approach

I built it in Next.js as a server-rendered dashboard that turns the team’s real activity — reports, decisions, blockers — into an agent feed, a decision queue, a blocker board, per-project health grades, and velocity charts.

The interesting problem was privacy. The real data is sensitive: security findings, private notes, internal decisions. It can never be published. So the public demo runs in a hard-locked demo mode — every data reader short-circuits to a synthetic snapshot before it can touch a real file, the write path is severed so nothing persists, and a build guard refuses to ship the public build unless demo mode is on. The real, full-data version stays local-only.

What shipped

A genuinely drivable demo. Sign in as a guest, approve a decision, triage a blocker, watch the agent feed update — all on synthetic data that resets each session. Fifteen roles, live status, seven-day insights, and per-project health scores, in light or dark.

My role

Mine. The seam. The real data here — security findings, private notes, decisions in flight — can never be published, but a demo nobody can click proves nothing. I chose three independent layers over one switch. Every data reader short-circuits to a synthetic snapshot before it can reach a real file. The write path is severed, so an approve button returns a plausible answer and persists nothing. And the build itself refuses to produce a deploy until it is told which kind it is — public demo or private real — and refuses a real one outright if the login gate is off.

The alternative was a single demo-mode flag, which is one misconfigured environment variable away from serving my actual findings to the open internet. Three layers means any one of them can fail without leaking.

The agents’. All three layers, and the guard test that reads the published snapshot back and fails if anything in it looks real.

What I check. That the layers are genuinely independent — that no two of them fail for the same reason. A defence in depth whose layers share a cause is one layer wearing three coats.

Reflection

The build taught me that make it public and keep it private aren’t opposites. With the right seam, you can ship a faithful, interactive demo while the sensitive version never leaves your machine.

That separation turned out to be the whole design.

— Sky Halisky · Okanagan Valley, British Columbia

A Brief Account

Inside the build

See it in motion.

  • The Think Tank — ideas triaged into Do it, Later and Skip.
  • The Dispatch queue — agent work lined up with its receipts.

More work

Continue reading.

Have something like this?
Write to me.

Send me an email