All work
FlagshipSep 2020 – Sep 2021

ACCELQ Agent Command Center

Built the cross-platform enterprise agent orchestration console from scratch in Golang — runs on Windows, Mac, and Linux with no JDK dependency.

Used by 200+ enterprise organisations · 3 platforms


The problem

Enterprise teams running ACCELQ needed a way to install, configure, monitor, and control automation agents across different machines, operating systems, and tenant configurations. Agents needed to run persistently, survive reboots and failures, and be manageable from any machine on the network.

There was no such tool. Agents were managed manually, one at a time, via command line. As enterprise adoption grew, this became unsustainable.

What I built

Took full ownership and built the ACCELQ Agent Command Center (ACC) from scratch in Golang. A cross-platform native application (Windows, Mac, Linux) that runs without any JDK dependency — critical for enterprise environments where JRE installation requires IT approval.

Features: one-click agent creation with automatic dependency management; dashboard to access, watch, configure, create, remove, and control multiple agents from any machine on the same network; system tray icon with real-time health status and running job count; auto-restart on system reboot, failure, or after taking an execution manager update; support for multiple agents across different tenant and ACCELQ instances.

The architecture was designed for scalability from day one. Extending from single-agent to multi-agent support took only a few hours. Adding Mac and Linux to the initial Windows build required changes to only a few OS-specific modules and took 1–2 days.

Approaches considered

Web-based dashboard — rejected: latency and connectivity issues in locked-down enterprise networks; can't do system tray, auto-restart, or process monitoring
Electron — rejected: 150+ MB runtime, still requires JRE for the agent, overkill for a management utility
Python with PyQt — rejected: cross-platform system tray support is unreliable, distribution requires Python runtime
Golang native binary — chosen: single static binary per platform, no runtime dependencies, excellent cross-platform support, small footprint, makefile-automated build

Architecture

Golang binary with OS-specific system tray integration → REST API client communicating with each agent's management endpoint → process watcher using OS-appropriate mechanisms (Windows Service / launchd on macOS / systemd on Linux) → WebSocket listener for real-time agent health streaming → makefile-driven cross-compilation pipeline for all three platform targets.

Result

Shipped to production and now used across 200+ enterprise organisations. The Golang decision proved correct: the cross-platform extension was a few days of work, and multi-agent support was a natural extension of the scalable original design. JIRA stories resolved this period: 51.

GoCross-PlatformOS NativeSystem Tray
Back to all work