CH
Back to projects
Shipped
Full-Stack DevelopmentUX DesignReal-Time Systems

Agent Hub Desktop App

Electron menubar control center for the multi-agent stack on my own machine

1 clickto monitor and control everything
Product Screenshots
Agent Hub menubar popover showing services, Docker containers, workflows, and RAG index status

Menubar popover: real-time overview of all services, containers, and workflows

Architecture
AGENT HUB — COLLECTOR ARCHITECTUREELECTRON MAIN PROCESSIPC CollectorsReact 19 UITailwind 430s polling intervalPopover + DashboardDockerAPIn8nCLIServicesTCP probeGitStatusRAGStatsTasksQueue
Problem

Monitoring the multi-agent stack across my own projects meant switching between terminals, browser tabs, log files, and the Docker desktop UI just to answer 'is everything running?'. Starting, stopping, or restarting a service meant remembering CLI commands. There was no single surface for system health, and the friction was discouraging me from checking on the stack as often as I should.

Discovery

Mapped every data source: Docker API, n8n CLI, TCP port probes, file-based stats, git status. Identified that 90% of daily monitoring needs could be served by a quick-glance popover, with a fuller dashboard reserved for deep investigation. Evaluated macOS menubar app patterns and reference implementations to pick the right shape: small popover for the common case, full window for the rare case.

Solution

Electron app with two views: a frameless popover (420×650px) for quick status checks and a full dashboard window (1200×800px) for detailed investigation. IPC collector architecture polls 10 data sources every 30 seconds with per-collector failure isolation. Action buttons for Docker start/stop/restart, n8n workflow run/enable/disable, and script triggers. Global keyboard shortcut (Cmd+Shift+H) for instant access.

Decisions & Tradeoffs
  • Two-view architecture (popover + full window) over single dashboard — the common case is a 5-second status check, not a 5-minute investigation; the UI should make the common case fast
  • IPC collector architecture with per-collector failure isolation — one flaky collector shouldn't take down the whole popover; each collector reports its own status independently
  • Global keyboard shortcut over click-only — Cmd+Shift+H makes the popover feel like a system tool, not an app; lowers the friction of checking on the stack to near-zero
  • Action buttons in the popover over deep-link to terminal — daily ops (Docker restart, workflow re-run) should be one click; CLI is for the rare case
Outcomes
  • Single-click access to health status of all services, containers, and workflows
  • GUI controls replaced dozens of CLI commands for daily operations
  • 10 data collectors running in parallel with 30-second refresh cycles
  • Tabbed interface: overview, Docker, workflows, tasks, git activity, RAG stats
  • Built in one session with React 19, Tailwind 4, and electron-vite
Built with
ElectronReact 19TypeScriptTailwind 4