From the room to the cloud and back
Software on every control processor connects each room to a secure, real-time cloud. Service teams, clients and AI all work from the same live picture. Click any part of the map.
Room equipment
The equipment people actually use. Drivers in the framework talk to it over TCP, serial, HTTP, BACnet or MQTT, and report its state.
- Displays, codecs, DSPs, cameras
- PDUs with metered energy
- Occupancy sensors and room calendars
- Driver warnings surfaced to the portal
Touch panels
Modern panel UIs built with our Angular library talk to the processor in real time. iPads can be locked to a room so they behave like installed panels.
- proav-ui-lib Angular components
- Real-time SignalR hub (/ui/hub)
- Room ratings collected at the panel
- iPad dedicated room-lock mode
Processor
Every Crestron 4-series or VC-4 processor runs our framework. The room keeps working locally even without the internet, and the processor opens its own secure connection out to the cloud.
- Embedded web server and on-device dashboard
- Cloud connector: check-ins, actions, logs, config
- 10-second system monitoring
- Config, scheduling, remote console
proAV.Net Cloud
The cloud receives check-ins, stores history and pushes live changes to everyone watching. It runs on Google Cloud and scales out across instances.
- ASP.NET Core 8 on Cloud Run
- Firestore, Realtime DB, Cloud Storage
- Redis fan-out of real-time events
- Tenant isolation and role checks on every call
Portal
The web dashboard our service team and clients sign in to. Updates are pushed live over WebSockets, so no refresh is needed.
- Hotlist, devices, logs, metrics
- Insights: usage, energy, ratings
- Packages, firmware, actions
- SSO, roles, tenants
AI layer
The built-in assistant (powered by Claude) and an MCP server that lets approved AI tools query the estate. Both read through the same permissions as the person using them.
- 39 MCP tools: fleet, logs, drift, software, rooms
- OAuth and a full audit trail
- Actions proposed, never auto-run
- Tenant pulse and ranked triage
Build pipeline
Every change is tested and approved before release. Project builds land in the package library, ready to deploy to rooms.
- AI-first development with human review
- 800+ automated API tests
- Approval gate before production
- Program packages uploaded automatically
What happens in the moments after a display drops off
- 1
Sense
The processor samples CPU, memory and disk every 10 seconds, and its drivers watch every display, codec and DSP in the room.
- 2
Check in
On a regular heartbeat it sends status to the cloud over a connection it opened itself. There are no inbound ports to open on the client network.
- 3
Store
Live state goes to a real-time database; history, logs, configs and packages go to Firestore and Cloud Storage.
- 4
Fan out
The change is broadcast across every cloud instance, then pushed over WebSockets to every open dashboard.
- 5
Act
The service desk (or the assistant) sees it in moments, and can respond with a remote action that travels back down the same tunnel.
Works on site and in the cloud
On the processor
Every processor serves its own dashboard, so engineers on site get the same tools with no internet needed. The room keeps running locally if the cloud is unreachable.
In the cloud
The same dashboard, compiled for the cloud, shows every processor across every client, with tenants, roles, history, insights and AI.
What it's built with
Mainstream, supportable technology throughout, with no proprietary black boxes.
- Processor
- Crestron 4-series · VC-4 · .NET 8 · proAV.Net.Core
- Panels
- Crestron CH5 · Angular · iPad app (Swift)
- Cloud
- ASP.NET Core 8 · Google Cloud Run · Redis
- Data
- Firestore · Realtime Database · Cloud Storage
- Portal
- Angular · real-time WebSockets · PrimeNG
- AI
- Claude assistant · Model Context Protocol server
- Delivery
- GitHub Actions · NuGet · npm · dated releases