Back to work

Case Study

AV Device Controller

A C++17 command-line system for managing multiple AV displays in venues through centralized control, featuring real-time temperature monitoring, timestamped event logging, and a five-layer architecture designed to swap the CLI for a JSON API or web interface without touching core logic.

Systems ProgrammingSystems Developer2025
AV Device Controller terminal demo

Project Highlights

  • Built a C++17 CLI application with zero external dependencies, relying entirely on the standard library for a portable, self-contained CMake build.
  • Designed a five-layer architecture separating Parser, Controller, Display, Logger, and Alert concerns — each independently testable and replaceable without modifying adjacent layers.
  • Implemented broadcast and individual display control using DISPLAY <id> and ALL command prefixes, supporting power, volume, brightness, and input source (HDMI/AV/DP) across all connected displays simultaneously.
  • Built a simulated temperature monitoring subsystem with configurable alert thresholds that emit timestamped warnings when sensor readings exceed configured limits.
  • Implemented append-mode event logging to logs/events.log with microsecond timestamps, recording all confirmed state changes for operational audit and replay.
  • Supported file-based configuration loading from config/displays.cfg with case-insensitive parsing, comment and blank-line handling — display names updatable without recompilation.
  • Shipped a testing suite with custom parser unit tests and file-driven integration tests using scripted input files for repeatable, automated validation.