Distributed Show Control Application For Use in Immersive Show Venues
Published on Jul 19, 2025 by Tom Gracey.
System: The Golang-based application comprises core application GUI, which may be hosted separately, and is designed to operate in the low latency environment of a local network. Arbitrary event-driven show logic is supported via an internal scripting system. Rapidly changing data is cached externally (with Memcached) to prevent loss of state in the event the core application goes down.
Client: Technical Productions
Technologies: Golang, Echo, Javascript, MySQL, Memcached
Problem: A centralised piece of software is needed to coordinate sound, lighting and other IoT devices in interactive show venues.
Solution: Devices, device commands, network setup, show "actions" and responses to events can all be defined by show operators to create arbitrary show scenarios. The software interfaces with popular software favoured for sound and lighting, and includes a versatile distributed dashboard scheme which allows custom dashboards to be created that can be hosted across multiple machines.