← All projects
PROJECT #96

TV Mission Control - My Television as a Status Board for My PC

An app that runs on the television itself rather than casting or mirroring a screen. It turns my LG webOS set into a board showing the Claude Code sessions running on my PC, that machine's health, and alerts as they happen.

The demo

The board on the TV: sessions with the WAITING FOR YOU badge, the health strip across the bottom, recent alerts down the right, and the buttons for Ask ACE, live PC windows and recording.

What it is

The board is a web app served by a Python process on my PC. The television loads it over my home network, so nothing is being cast from a computer and no screen is being mirrored. It also installs on the set as its own webOS app with its own icon, which means the TV can open it from the home screen like any other app.

What is on the board

Driving the PC from the sofa

The board lists every open window on my PC as a tile. Opening one brings that window to the front and plays it on the television as real video: the window is captured by Windows, encoded to H.264 on the CPU and sent over WebRTC on my network only, with no external relay servers involved. Measured on my set it runs at 30 frames a second at 1080p, with the delay between 67 and 76 milliseconds and no packet loss. If WebRTC is not available the page falls back to sending frames as images and says so on screen.

The television remote then drives that window. Pointing moves the mouse, OK clicks, the wheel scrolls, and a small toolbar carries Escape, Enter, Tab, Delete, Alt+Tab and the clipboard keys. The TV's on-screen keyboard types into a box that sends the text to the PC.

Keeping it contained

The window list, the video and the input endpoints answer only the television's own address and the PC itself. Anything else on the network is refused. Only a fixed list of keys is accepted, so no arbitrary combination can be sent. Windows does not allow a normal program to send input into an elevated window, so those tiles are marked as view only and the television says so if I try to click one. A single setting turns the whole screen control feature off.

Session summaries are the first sentence of what the agent said, with code blocks, tables and quotes stripped, and anything resembling a key, token, password, long hex string or email address replaced before it is displayed. File contents, tool output, my prompts and process command lines are never sent to the television.

The voice assistant

A Claude assistant called ACE answers by voice from the television, from my phone, or from a mouse button, and gives short spoken briefings. Nothing it proposes runs until I confirm it, by button or by saying so, and an unconfirmed action expires after two minutes. The phone page is served over HTTPS with a certificate generated on my own machine, because browsers only allow microphone access on a secure page, and its pairing is tied to one address and a private cookie.

Tech Stack

Python webOS WebRTC x264 Windows Graphics Capture Whisper psutil nvidia-smi Claude
Devices and Control → More projects
Access full source code & live demo
This project's overview, tech stack, and demo are open. For full source code access, live walkthrough, licensing, collaboration, or custom builds, please get in touch: [email protected]