Skip to content
← The Workshop

Bush Remote: turning an iPhone into a remote for a Bush smart TV.

Client
Year
Personal project
2026
The Bush Remote app on an iPhone
Built with
Next.jsTypeScriptTailwindNode.jsVitestPWA

Overview

A Home Screen remote, and a tiny bridge at home that talks to the TV.

Bush Remote is a web app you add to an iPhone’s Home Screen, plus a small bridge program on a computer at home. Press a button on the phone, and the bridge passes it to the TV over Wi-Fi.

Challenge

An iPhone web page cannot talk to a TV.

Safari blocks plain http:// requests from a secure page and has no raw network sockets, and a page hosted on Vercel cannot reach devices on a home network. So the buttons alone could never work: something on the home network had to carry each press to the TV.

Solution

A bridge with no dependencies, speaking the TV’s own language.

The bridge is a small Node.js program with zero dependencies that runs on a Mac, a PC or a Raspberry Pi. It sends requests byte for byte in the format of the official Smart Center app, is protected by a token, allows only known keys and rate-limits presses, and can find the TV on the network by itself.

The app is a Next.js static export with a remote, a keypad, media keys and a Tools page that shows where each key code came from, so codes can be checked against the real TV one by one.

Where it stands

Built and tested, waiting on the TV.

The app, the bridge, sign-in, rate limits and discovery are covered by 48 automated tests and run end to end against a simulated TV. The one thing left is the real thing: the TV was off during development, so the first live test on the Bush is still to come.

  • 48

    automated tests

  • 0

    dependencies in the bridge

  • 1

    TV left to test on

More from the workshop