OmkarK97/webos-vibehack
Productivity & UtilitiesReplaces LG webOS's ad-filled home screen with an Apple TV-style launcher, aimed at LG TV owners willing to set up Developer Mode.
Adoption takeaway: this is a fun project for someone who owns a supported LG TV, has a Mac on the same network, and accepts a two-part install plus a computer that must stay awake for the Home button to be redirected. It is not a zero-configuration launcher.
The problem
You want your LG TV to open on a dock of your own apps instead of LG's home screen, which mixes recommendations and promotions with your apps. On webOS, the launcher you install can open, but pressing Home still returns to LG's home, and a Developer Mode app cannot read the installed app list from the TV itself. So the workflow splits: your computer reads the apps and icons, builds a launcher package, and installs it. Once paired, the result is a custom home screen whose tiles you can rearrange on the TV, with the order saved there.
What's different
The design is inherited from tv-vibehack, an Android TV launcher: a four-app dock with a colored glow, a scrollable app grid, and top-row shortcuts for Inputs, Wi-Fi and Settings. The webOS port replaces ADB with LG's Developer Mode app and a free LG developer account, and it ships sync-apps.py to pull app and icon data from the TV to the computer, since webOS will not let the installed app enumerate apps.
The Home button is the interesting trade-off. webOS hard-wires Home to LG's home, so the project provides home-watch.py, a watcher on another always-on device that opens the launcher whenever LG's home appears. Press Home twice within three seconds to stay on LG's home. When the watcher is not running, Home behaves normally. This means the launcher alone is useful, but the full Apple TV-like feel depends on a second device on the same network; a Mac only works while it is awake and at home, and the README suggests a Raspberry Pi for always-on redirects. Nothing is rooted, but that is not the same as installing without consequences: Developer Mode sessions expire, and the README describes pressing Extend Session Time on the TV when apps stop opening.
Who should try it
Good fit: an LG OLED owner with a Mac and some comfort with a terminal who wants a cleaner app grid and does not mind re-running the install after adding or removing TV apps. A Raspberry Pi owner gets more value, because the Home watcher can keep running continuously. Poor fit: someone who wants a simple settings toggle, does not have a Mac, or expects the stock Home button to change without another device. The README demonstrates a macOS-only setup path, with install.sh using sips to make the icon; using another computer would require adapting that step. First-time users should also expect to configure app/config.js and pair with the TV.
Requirements and limitations
You need a Mac on the same Wi-Fi as the TV, Node.js for LG's ares CLI fetched with npx, and Python 3. Setup requires a free LG developer account, the Developer Mode app, Dev Mode Status and Key Server enabled, and a pairing prompt accepted on the TV. Ongoing upkeep matters: run install.sh again whenever apps are installed or removed, and extend the Developer Mode session before it expires. The Home redirect requires a second always-on device, and macOS needs Local Network permission for Python or the watcher fails to reach the TV.
Compatibility is narrowly evidenced: the launcher was tested on an LG OLED C6 (OLED55C6XLA, webOS 26, firmware 43.21.79), and the README notes that menu names vary slightly across webOS versions. Newer firmware can reject the signed manifest used by open-source LG clients; the project's lgtv.py pairs with an unsigned one instead, so pairing failures may be a firmware issue rather than a mistake. Syncing app data also gives the computer a broad connection to the TV, which is why you should be comfortable with what the pairing prompt allows.
HotRepo's take
HotRepo recorded #22 on the NEW-REPOSITORY board for JavaScript on 2026-10-25, with 284 total stars and 38 forks; this is not an overall Trending rank or a daily growth figure. The repository was created on 2026-10-19, so both the project and the stored coverage are only days old, and persistence cannot be judged. Before installing, verify that your TV's webOS version and firmware match the tested setup or that the troubleshooting notes cover your pairing case.
Written by AI from the project's README, updated October 25, 2026. The project's own docs are the source of truth.