Skip to content
Steven Barash

Pult

A SwiftUI iPhone remote I built and test with my Google TV.

Role
Creator and primary developer
Status
Active
Technologies
Swift, SwiftUI, App Intents

The code is public, and the project is still active.

Not on the App Store. Physical-device compatibility is documented per TV in the repository.

Pairing and control path
  1. iPhone Pult app
  2. mTLS pairing and command channelsPairing: port 6467Commands: port 6466
  3. Google TV

Why Pult exists

I wanted an iPhone remote for my Google TV without installing another ad-supported app.

I built Pult for that specific job: pairing an iPhone with a Google TV on the same network and using a native remote interface.

Pairing and control

  • Pult implements the Android TV Remote Service v2 pairing and command protocols.
  • Discovery, pairing, transport, remote commands, system intents, and the SwiftUI interface stay in separate layers.
  • It communicates with Google TV hardware over the local network.

Protocol choices

  • Keeping the networking and protocol code separate from the SwiftUI controls adds structure, but makes each part easier to test and change.
  • Pult uses hand-rolled protobuf encoding for the small protocol surface instead of adding SwiftProtobuf as a dependency.
Back to projects
Start