Start here

How Helm works

Two programs, one encrypted connection.

Helm has two parts:

  • The PC agent (Rust) — runs on your PC and does the actual work: launching apps, injecting input, capturing the screen, reading media and system state.
  • The Android app (Kotlin + Jetpack Compose) — the controls you hold.

The connection

Android app ──(mDNS: _helm._tcp)──▶ finds PC
            ──(scan QR: address + certificate fingerprint + one-time token)──▶ pairs
            ──(WebSocket over TLS, certificate pinned, device key signs a challenge)──▶ PC agent
  • The agent listens on port 47820 (or the next free port, which it advertises).
  • Commands are small JSON messages; touchpad motion uses fire-and-forget frames so it never waits.
  • The live screen uses a second authenticated socket that carries H.264 video and Opus audio.