A fast, ad-free home screen for Google TV. Open source, built with Claude Code. One button to undo.
The project's README from github.com/simbasjungles/free-my-tv. As one markdown file: README.md.
A fast, ad-free home screen for Google TV, LG and Samsung TVs.
Trending picks from your own apps, the weather at a glance, and a look that follows the sunset.
Open source. Built with Claude Code. One button to undo.
freemytv.io · Install · LG TVs · Samsung TVs · Any TV · Make it yours
About ten minutes. You need a Google TV or Android TV (Android 9 or newer) and a computer on the same Wi-Fi.
On the TV, turn on developer mode: Settings → System → About → press Android TV OS build 7 times. Then Settings → System → Developer options → turn on USB debugging. Write down the TV's IP address (Settings → Network & Internet).
On your computer, get the code:
git clone https://github.com/simbasjungles/free-my-tv && cd free-my-tv
Open Claude Code in that folder and say:
Install Free My TV on my TV at 192.168.1.50. I live in Lisbon.
It installs the tools it needs, builds the app and puts it on your TV. Swap in your TV's IP and your city.
On the TV, open Free My TV → Home Screen → Free My TV, and accept the debugging prompt (tick Always allow).
brew install --cask temurin android-commandlinetools android-platform-tools
sdkmanager "build-tools;34.0.0" "platforms;android-34"
On Linux, get OpenJDK 17, Android's command-line tools and adb from your package manager, then run the same sdkmanager line. On Windows, use WSL../build.sh
The first run creates config.properties. Set your city and your TMDB key there, then run it again.adb connect 192.168.1.50:5555
adb install -r FreeMyTV.apk
On TCL TVs, also let it run in the background (TCL blocks it by default, and the switch never starts):adb shell "appops set io.freemytv AUTO_START allow || appops set io.freemytv APP_AUTO_START allow"
The same home screen as an LG app: the picks, the glass shelf with your apps, the drawer with inputs, weather and prices, day and night, Home Settings and the shelf editor. It installs through LG's own Developer Mode, with nothing rooted or changed on the TV. LG's home screen stays where it is, and Free My TV is one press of a number key away.
You need an LG TV (webOS 3 or newer) and a computer on the same Wi-Fi, with Python 3.
config.properties works as for Google TV (your city, your TMDB key):git clone https://github.com/simbasjungles/free-my-tv && cd free-my-tv
python3 webos/build.py
python3 webos/install.py 192.168.1.50
With Claude Code, say "Install Free My TV on my LG TV at 192.168.1.50. I live in Lisbon." It builds the app and hands you the install command, so you type the passphrase yourself.
Developer Mode lasts about 40 days: open the Developer Mode app now and then and press EXTEND. To remove Free My TV, run python3 webos/install.py 192.168.1.50 --uninstall.
The same home screen as a Samsung app, with everything the LG one has: the picks, the shelf, the drawer with the inputs, the weather and the prices, day and night, and its own settings. It installs through Samsung's own Developer Mode, with nothing rooted or changed on the TV, and Samsung's home screen stays where it is.
You need a Samsung TV from 2017 or newer (Tizen 3+) and a computer on the same Wi-Fi.
1 2 3 4 5 on the remote. Turn Developer mode on, type your computer's IP address in Host PC IP, and restart the TV.simbasjungles/free-my-tv. On 2023 and newer TVs it asks you to sign in to your Samsung account once, to sign the app for your TV.This build takes your city from the TV's time zone. For your exact city and the trending picks, build it with your own config.properties and TMDB key: open the folder in Claude Code and say "Install Free My TV on my Samsung TV at 192.168.1.50. I live in Lisbon." It sets up Samsung's tools, and on 2023 and newer TVs you sign in to your Samsung account in the browser to make the certificate.
The first values come from config.properties, created by the first build (Google TV, LG and Samsung use the same file). Most of them can also be changed on the TV, in Free My TV → Home Settings, and the TV's choice wins:
| Key | What it does | Default |
|---|---|---|
tmdb_key |
Your free TMDB key, for the picks | empty |
tmdb_region |
Your country (two letters): which titles are on which app | US |
latitude, longitude |
Your city, for the weather and the sunset | New York |
city |
The name on the weather card | Weather |
language |
auto (follows the TV), en, es, pt, ru or de |
auto |
show_crypto |
Show Binance crypto prices on home and screensaver | true |
currency |
Crypto prices in USD, EUR, BRL… |
USD |
temperature |
C, F or auto |
auto |
disable_assistant |
Also turn off Google Assistant | false |
Changed something? Run ./build.sh and install again. Keep freemytv.keystore: updates are signed with it.
Free, and it takes two minutes: create an account at themoviedb.org, then open Settings → API and request a developer key. Paste the API Read Access Token (or the API Key) after tmdb_key=. It's your key: config.properties stays out of git.
On the TV: Free My TV → Home Screen → Original. The factory home screen, screensaver and every app come back exactly as they were. If the new home screen ever crashes three times in five minutes, it switches back by itself.
To remove it for good, switch to Original first, then uninstall Free My TV (Settings → Apps).
disable_assistant=true.Free My TV runs on Google TV and Android TV: TCL, Sony, Hisense, Philips, Xiaomi, Vestel-made TVs (F&U) and more, plus streamers like Chromecast with Google TV, the Google TV Streamer, onn 4K and NVIDIA Shield. And on LG and Samsung TVs, as an app.
Any other TV: plug a Google TV streamer into HDMI and free that one. Same steps, same home screen.
A different brand or model: ask Claude. Free My TV is made to be adapted by AI. Open the folder in Claude Code and say "set it up for my Sony": it reads your TV, finds its home screen and its promo apps, updates the lists below and walks you through a test. CLAUDE.md tells it how.
| What | Where |
|---|---|
| Apps to turn off | DEBLOAT in HomeMode.java |
| Apps never to touch | PROTECTED in the same file |
| Apps on the shelf | SHELF in HomeApps.java |
| Your brand's live TV app | LIVE_TV_APPS in the same file |
It's your code, and Claude Code finds its way around it. Try:
build.sh runs aapt2 → javac → d8 → zipalign → apksigner and makes a 2 MB APK.127.0.0.1:5555 with its own key (that's the Allow USB debugging? prompt) and runs the same commands you would: cmd package set-home-activity, settings put secure screensaver_components, pm disable-user. Nothing listens to the network.web/), written for the Chromium of older TVs, with no frameworks. webos/build.py packs it with config.properties into an .ipk without LG's tools, and webos/install.py installs it through Developer Mode; on LG it lists and opens apps through the TV's own service bus (Luna), as LG's launcher does. tizen/build.py packs the same app into a Samsung .wgt, which uses Tizen's web APIs for the apps and the inputs. To preview it on a computer: python3 webos/build.py --preview, then open out/webos/index.html (a stand-in lists sample apps).show_crypto=true).| File | What it is |
|---|---|
HomeView.java |
The home screen |
HomeMode.java |
Switching between Free My TV and Original |
Adb.java |
The TV's own ADB, from inside the TV |
Recs.java |
The picks (TMDB) |
HomeData.java |
Weather and prices |
HomeApps.java |
The shelf, inputs and All Apps |
DreamView.java |
The screensaver |
SettingsActivity.java |
The settings screen (the app's icon) |
Prefs.java |
Settings changed on the TV |
RemoteKeys.java |
The TCL remote's app buttons |
Watchdog.java |
The safety net |
web/home.js |
The home screen on LG TVs |
web/tv.js |
The TV's apps and inputs, on LG and Samsung |
webos/build.py, webos/install.py |
The LG app package and its install |
tizen/build.py |
The Samsung app package |
The website (freemytv.io) is in docs/: plain HTML, CSS and JS on GitHub Pages.
No accounts, no analytics, no tracking. The app talks to TMDB, Open-Meteo (with the coordinates you set, or your time zone's main city), and Binance only when show_crypto=true. Your settings stay on your computer and your TV.
MIT. Fork it, change it, ship it.
A fast, ad-free home screen for Google TV. Open source, built with Claude Code. One button to undo.