01
Local proxy instead of calling the vendor from the browser
A server-side layer can set the headers and request shapes the vendor API expects and handle the WebSocket upgrade that browsers cannot customize.
Personal project
Desktop viewer for a consumer camera cloud, via a signaling and WebRTC proxy
The page logs in and wakes the camera through the Express layer, gets a ticket from the vendor API, negotiates over the relayed signaling socket, then receives media from the camera.
Click a step to jump to it. Click a component for details.
A personal experiment to watch a home camera from a desktop app. A Node/Express backend logs in to the camera vendor's cloud, obtains WebRTC tickets and relays the signaling WebSocket, while a browser page and a .NET MAUI Mac Catalyst app act as clients.
The camera vendor only ships mobile apps. The goal was a desktop viewer with device status and controls, which required understanding the undocumented login, verification and WebRTC ticket flow.
01
A server-side layer can set the headers and request shapes the vendor API expects and handle the WebSocket upgrade that browsers cannot customize.
02
The MAUI client keeps API paths and probe toggles in typed options so protocol experiments can change without recompiling code.
03
A zero-build web viewer allowed fast iteration on WebRTC, while the MAUI app explores a native desktop experience.