Back to Projects

      Lead Engineer

      Distributed Digital Signage Platform

      A production digital signage system used to manage and control hundreds of Android TV displays per deployment, built for reliability in real-world public environments.

      Node.jsPostgreSQLRxJSWebSocketsAndroid TVAzureDistributed Systems

      Problem

      Operating digital signage at scale involves unreliable networks, constrained devices, and non-technical operators. Displays must continue functioning even during outages, while still allowing centralized control.

      Solution

      Developed a centralized management platform where each display operates autonomously while remaining remotely configurable. Content is cached locally, playback is scheduled on-device, and remote commands are delivered in real time when connectivity is available.

      Architecture & Approach

      Backend built with Node.js and PostgreSQL, using RxJS for event-driven workflows. Devices communicate with the backend via REST APIs and WebSockets. Media assets and infrastructure are hosted on Azure. Android TV clients are designed to function independently when offline.

      Key Tradeoffs

      • REST and WebSockets are simpler than specialized protocols but require careful reconnection handling
      • Local autonomy prevents downtime but introduces state synchronization challenges
      • Android TV platform limitations required non-standard lifecycle and background execution strategies

      What I Learned

      • Physical deployments introduce failure modes that software alone cannot prevent
      • Clear monitoring and alerting are critical when managing distributed hardware
      • Admin tooling must prioritize simplicity over configurability for non-technical users