SteamOS · Bazzite · CachyOS · Steam Deck · Windows (beta)
The remote your gaming PC deserves.
Couchside turns your phone into the remote, controller, and dashboard for your living-room Linux gaming PC: SteamOS, Bazzite, CachyOS, or Steam Deck, with a Windows build in beta. When the TV goes black, Couchside is the screen. Check the vitals, read the logs, restart the display, or pick up a controller. Everything stays on your own network.
Free for a week, then a one-time $4.99 unlock.
One-time purchase · No subscription · No accounts · No ads · $7.99 from Sept 1 · build it yourself if you'd rather
On iPhone and want the newest features first? Join the iOS beta on TestFlight →
● LIVE swipe on the phone to browse · tap to launch
↑ the actual app, running right here in your browser
Real footage · nothing staged
See it actually drive a TV.
A phone controlling Steam Big Picture on the TV over the local network: the menus, the input modes, the game library, all from the couch. Recorded on a real box.
Up and running in a minute
Three steps to flight.
No accounts, no cloud sign-up. Install the open-source service on your box, scan the code it prints, done.
Run one command on the box
It installs a tiny service, no dependencies. Pick the command for your OS:
Linux — SteamOS · Bazzite · Steam Deck (Terminal)
$ curl -fsSL https://couchside.tv/install.sh | bash
Read the script first → · not a shell person? Paste it into ChatGPT or Claude and ask what it does; it’s a short, open-source script. · New Steam Deck? Run passwd once in Desktop Mode so it can ask permission. · Got Decky Loader? The same one-line install drops a Couchside Game Mode panel straight into your Quick Access Menu, without going through a plugin store.
Windows — 10 / 11 (beta) · PowerShell, asks for admin via UAC
> irm https://couchside.tv/install.ps1 | iex
Windows is in beta. Linux is the primary target and the most polished; the Windows service works today but is newer, so expect the odd rough edge and file anything you hit. Read the script first → · or paste it into ChatGPT or Claude and ask what it does. It installs an unprivileged service that can only run an audited allowlist of commands; there is no root daemon.
Either takes about 15 seconds, then shows a PIN (and a QR) and leaves the service running. Re-run any time.
Scan for your box, type the PIN
Open Couchside and tap Scan for boxes. It finds the box on your network; the box shows a short PIN on its own screen — type that in and you’re paired. No IP addresses, no tokens, no typing. Prefer the QR? Scan it with the in-app scanner (Setup → Scan a pairing code) or just point your phone’s regular camera at it.
Fly the couch
Watch the vitals, restart a wedged display, tail the logs, or flip to the controller. Never get up to find a keyboard again.
Want more? A couple of one-time opt-ins
The installer adds a couchside command. A few extra powers are off by default — you turn them on only on the box (never from the phone), and each one tells you exactly what it grants first:
Update the box from your phone — Flatpak apps and the OS (SteamOS / Bazzite)
$ couchside allow-system-updates on
It grants the service passwordless sudo for one fixed command each — a root-owned wrapper that runs flatpak update or stages an OS update, and accepts nothing else. Never a blank cheque on flatpak or rpm-ostree. An OS update stages for the next boot, so the app says “reboot to apply” rather than pretending it finished. Turn it off any time with couchside allow-system-updates off.
Also: couchside allow-updates on (let the app update Couchside itself) and couchside allow-launchers on (let the app create launchers, not just run them). Full detail — and why each grant is shaped the way it is — is in the README on GitHub →
Under the hood
What actually talks to what.
Tap a task to watch where the traffic goes. Then pull the internet cable and see what changes. (Spoiler: almost nothing.)
The app and the service speak plain HTTP with a bearer token, phone to box, on your Wi-Fi. Pick a task above to see exactly what moves where.
Why you'd open it
Three reasons you'd reach for your phone.
Not a feature list — the moments people actually open Couchside.
The TV is black
The box is on, the screen is not, and the controller does nothing. Check whether it's actually alive, read the logs, restart the display — without finding a keyboard or crawling behind the TV. This is the one that made the app exist.
The controller is dead, or across the room
Your phone becomes a real Xbox controller the box can't tell from plastic, plus a trackpad and a keyboard for the moments a controller can't do the job at all — a login box, a launcher update, a wall of small text.
You just want to play something
Your library with its cover art, in your hand. Pick a game and it starts on the TV. No Big Picture menus, no hunting with a D-pad through a grid you can barely read from the sofa.
Everything it does
One app, the whole box.
Vitals, rescue, and input for a living-room gaming PC: the parts you actually reach for from the couch.
Live dashboard
CPU temperature, load, memory, per-disk usage, uptime, and the health of every background service you watch (systemd on Linux, Windows services), refreshed in real time.
Rescue actions
Restart the frozen display (a wedged gamescope black screen), reboot, or power off. One tap each, grouped by danger, with a double confirm on the destructive ones.
Desktop ⇄ Game Mode
Drop the box into the SteamOS desktop and flip back to Game Mode with a single tap, no keyboard or mouse involved. Or just hold the Guide button on a controller to trigger the handoff, no phone needed (opt-in per box). Make the quick tweak from the couch, then get back to playing.
Virtual controller
The service presents a standard Xbox controller to the box, so Steam and your games see genuine input: sticks, D-pad, ABXY, triggers, haptics. Handy when the real controller is dead or across the room.
Swipe mode
An Apple-TV-remote-style surface: swipe to move, tap to select. The fastest way through Kodi and Big Picture menus from the couch.
Log viewer
Browse recent error logs (journald / Windows Event Log) for any watched service straight from your phone, without an SSH session or squinting at the TV.
PIN pairing
Tap Scan for boxes, then type the PIN the box shows on its screen. No IP addresses and no tokens to copy — the QR the installer prints still works too.
TV & power control
Your TV, over Wi-Fi — no HDMI-CEC required. Point Couchside at a smart TV on your network and you get a real remote: D-pad, OK/Back/Home, power, volume, and the input/SOURCE key, plus an on-screen keyboard for those miserable TV search boxes. Couchside can even find the TVs on your network so you don't hunt for an IP. Works with LG webOS, Roku, Android / Google TV and Hisense; Samsung is in beta. (Smart-TV backends need a Linux box — on Windows, Roku is supported today.)
Your phone's own volume buttons work too, on every control screen. And the box side: volume (a real drag slider on SteamOS) and mute, sleep it and wake it back over the network — one awake box can even wake a sleeping one. HDMI-CEC still works where your box has it, as do commercial RS-232 panels like Newline; no CEC and no smart TV? A spare Raspberry Pi adds it via the one-line Pi CEC bridge installer.
One-time · no subscription, ever
Pay once. Or don't pay at all.
The service on your box, the piece that touches your network, is fully open source (MIT). The app is source-available: read it, or build it onto your own phone for free, for personal use. The one-time price buys the ready-made build from the App Store or Play, kept updated, and it supports the work behind it. Everything's a subscription these days. I hate that, so Couchside isn't one. Try every feature free for 7 days, then unlock it forever, or build it yourself for free. Pick your path:
“I love opening my phone, finding my favorite game, and hitting launch, so by the time I've walked over to my gaming spot it's loaded and ready to go. Once it fits your setup, you'll get it. That's why the unlock is one payment instead of another monthly bill.”
— Taylor, maker of Couchside
Try free for 7 days, then unlock once
Download free and use every feature for a full week, no commitment. If it earns a spot in your living room, keep it forever for less than a cup of coffee: $4.99 through August, then $7.99 from September 1. One payment, one time, no accounts. Unlock before September 1 and the app shows a permanent Early Adopter badge. The money funds this project and supports my family. I hope you enjoy it.
Build it yourself, free
The app's full source is on GitHub: read it, compile it onto your own phone with Expo, tweak it for yourself. It's source-available for personal, noncommercial use (PolyForm Noncommercial); the service and installer are MIT, so you can even build your own client. Same software, your labor instead of $4.99. All I ask is that you don't repackage and sell it.
Private by design
Your box. Your network. Nobody else's.
Couchside talks only to the service on your own LAN. There is no cloud in the middle, because there is no cloud at all.
Token auth
A secret key (bearer token) generated on your box and stored in your phone’s keychain. Only a paired phone can talk to the service.
LAN-only
No relay, no telemetry. The phone and the box on the same Wi-Fi, full stop.
Least privilege
The service can run an exact, audited allowlist of commands and nothing else.
Auditable
The service is open source (MIT); the app's source is public too. The whole project is on GitHub if you want to read every line.
Free 7-day trial, no account needed. · Read the privacy policy →