Skip to content
HardwareLab
Smart HomeAdvanced · Our suggestion

3D Home TV OS

His apartment in live 3D is now the TV's home screen, lights wired in

Full build guide

By Rod Pers (@srepdor)

Posted
GitHub stars
27 (GitHub)
Likes on X
831 (X post)
Demo by Rod Pers (@srepdor), posted · Watch on X

Build sheet

Board
Mac or Raspberry Pi as the always-on host
Other parts
Google TV or Android TV (tested on a Philips Google TV), Philips Hue or other Home Assistant lights, iPhone or iPad Pro with LiDAR (optional, for the scanner app)
AI model or service
Claude Code (the creator's build), AGENTS.md playbook for coding agents (Claude Code, Codex, Cursor, Copilot, Gemini CLI and others)
Difficulty
Advanced · Our suggestion
License
MIT (source)

Parts list

  • Google TV or Android TV (e.g. Philips, Sony, TCL, Hisense, Chromecast with Google TV) [6]
  • Google TV dongle [optional] [6]
  • Smart lights (Philips Hue directly, or anything Home Assistant supports) [7]
  • iPhone or iPad Pro with LiDAR [optional] [8]
  • Always-on host (macOS (launchd) or Linux (systemd, Raspberry Pi)) [9]

Prices and notes: Parts and requirements

Steps

Skill level
Advanced
  1. Phase 0: a plan for your TV, lights and machines
  2. Phase 1: scan your rooms (iPhone LiDAR, or drawn)
  3. Phase 2: a low-poly 3D model, editable in the browser
  4. Phase 3: the bridge (Hue, Home Assistant, HomePod) as one live API
  5. Phase 4: the new TV home screen (3D, lights panel, dock, screensaver)
  6. Phase 5: iPhone app and widgets, macOS menu-bar widget
  7. Phase 6: always on (Raspberry Pi or an awake Mac) [16]

Full instructions: View original

Like this build? Get the weekly builds

Get the best new AI hardware builds every Thursday. One email a week, free.

Built something? Submit a build

Part of: Hack a gadget you already own →

Overview

Rod Pers (@srepdor) vibe coded his own TV OS with Claude Code: his Philips Google TV's home screen is now a live 3D model of his apartment, scanned with an iPhone. Hue lights and a ceiling fan (through Home Assistant) switch from the remote and light up in the 3D in real time, and the same 3D runs in an iPhone app and a Mac menu-bar widget. The repo (Rod292/3d-home-tv-os, MIT) is an AGENTS.md playbook for coding agents plus the working reference implementation.

What it does

  • “No more ads: replaced with a live 3D model of my apartment. Lights + ceiling fan wired in, they turn on in the 3D in real time.” [1]
  • Flip a lamp from the remote and it turns on in real life and in the 3D; select a lamp and the 3D shows which one it is. [2]
  • The same 3D home runs on the iPhone and in the Mac's menu bar: “tap a lamp in the model to switch it, everything syncs across the TV, the phone and the Mac in real time.” [3]
  • The repo is built to be vibe coded: an AGENTS.md playbook interviews you about your hardware, then goes phase by phase with explicit “done” checks, on top of a working reference implementation. [4]
  • The stock Google TV home stays installed as a fallback, and everything done on the TV is reversible. [5]

Parts and requirements

PartSpec / notesNeededPrice
Google TV or Android TV [6]e.g. Philips, Sony, TCL, Hisense, Chromecast with Google TVRequired
Google TV dongle [6]Only for Apple TV, Samsung and LG sets, whose home screens can't be replacedOptional
Smart lights [7]Philips Hue directly, or anything Home Assistant supportsRequired
iPhone or iPad Pro with LiDAR [8]For the scanner app, which also needs XcodeOptional
Always-on host [9]macOS (launchd) or Linux (systemd, Raspberry Pi)Required
  • Computer for setup: Node 24 or newer and pnpm 10
  • Requirements source: [10]

How it works

Per the creator: the apartment was scanned with an iPhone and turned into a 3D model, a small bridge on his Mac talks to Hue and Home Assistant, and the TV runs a custom Android launcher with the 3D on top, the lamps in a glass panel and only the apps he uses. The repo walks your coding agent through 7 phases (0 to 6): plan, scan (iPhone LiDAR, or draw the plan), 3D model, bridge, TV launcher, phone and desktop, always on. The stock Google TV home stays installed as a fallback.

LayerComponentRuns on
ScaniPhone LiDAR scanner app (Apple RoomPlan) [11]iPhone or iPad Pro
3D model3D web app (React, three.js): editor and home view [12]Browser, served by the bridge
BridgeNode bridge: Hue, Home Assistant, HomePod and the TV behind one HTTP/SSE API [13]Mac or Raspberry Pi
TV home screenAndroid/Google TV launcher: 3D, lights panel, dock and screensaver [14]Google TV
Phone and desktopiPhone/iPad app with widgets, and a macOS menu-bar widget [15]iPhone and Mac

Setup effort

Skill level
Advanced

The path: Phase 0 to Phase 6, from a plan for your TV, lights and machines to running 24/7 (Raspberry Pi or an awake Mac). [16]

Limits and caveats

  • Tested end to end on one setup only: a Philips Google TV, Philips Hue, Home Assistant (Tuya fan, Philips TV), a HomePod mini and a Mac as host. Other TV brands and hosts are untested. [17]
  • Apple TV, Samsung and LG home screens can't be replaced; those TVs need a Google TV dongle. [6]
  • The web editor and the iPhone and Mac apps are in French (the TV launcher follows the TV's language, English or French). [18]
  • The scanner needs an iPhone or iPad Pro with LiDAR, and Xcode. [19]
  • The Raspberry Pi path is documented, not yet battle-tested. [20]
  • A personal project shared as-is: expect to adapt things to your home. [21]

Hardware

  • Google TV or Android TV (tested on a Philips Google TV)
  • Philips Hue or other Home Assistant lights
  • iPhone or iPad Pro with LiDAR (optional, for the scanner app)
  • Mac or Raspberry Pi as the always-on host

More Raspberry Pi builds

Credits and links

Sources

  1. x.com/srepdor/status/2112207244096065661
  2. github.com/Rod292/3d-home-tv-os/blob/0190ba88835d629437aff170528512264ae537f6/README.md?plain=1#L5-L8
  3. x.com/srepdor/status/2112207251276759343
  4. github.com/Rod292/3d-home-tv-os/blob/0190ba88835d629437aff170528512264ae537f6/README.md?plain=1#L10-L16
  5. github.com/Rod292/3d-home-tv-os/blob/0190ba88835d629437aff170528512264ae537f6/README.md?plain=1#L61-L63
  6. github.com/Rod292/3d-home-tv-os/blob/0190ba88835d629437aff170528512264ae537f6/README.md?plain=1#L53-L54
  7. github.com/Rod292/3d-home-tv-os/blob/0190ba88835d629437aff170528512264ae537f6/README.md?plain=1#L55
  8. github.com/Rod292/3d-home-tv-os/blob/0190ba88835d629437aff170528512264ae537f6/README.md?plain=1#L75
  9. github.com/Rod292/3d-home-tv-os/blob/0190ba88835d629437aff170528512264ae537f6/README.md?plain=1#L57
  10. github.com/Rod292/3d-home-tv-os/blob/0190ba88835d629437aff170528512264ae537f6/README.md?plain=1#L21-L25
  11. github.com/Rod292/3d-home-tv-os/blob/0190ba88835d629437aff170528512264ae537f6/AGENTS.md?plain=1#L49
  12. github.com/Rod292/3d-home-tv-os/blob/0190ba88835d629437aff170528512264ae537f6/AGENTS.md?plain=1#L52-L53
  13. github.com/Rod292/3d-home-tv-os/blob/0190ba88835d629437aff170528512264ae537f6/AGENTS.md?plain=1#L53
  14. github.com/Rod292/3d-home-tv-os/blob/0190ba88835d629437aff170528512264ae537f6/AGENTS.md?plain=1#L55
  15. github.com/Rod292/3d-home-tv-os/blob/0190ba88835d629437aff170528512264ae537f6/AGENTS.md?plain=1#L56-L57
  16. github.com/Rod292/3d-home-tv-os/blob/0190ba88835d629437aff170528512264ae537f6/README.md?plain=1#L36-L46
  17. github.com/Rod292/3d-home-tv-os/blob/0190ba88835d629437aff170528512264ae537f6/README.md?plain=1#L70-L71
  18. github.com/Rod292/3d-home-tv-os/blob/0190ba88835d629437aff170528512264ae537f6/README.md?plain=1#L72-L73
  19. github.com/Rod292/3d-home-tv-os/blob/0190ba88835d629437aff170528512264ae537f6/README.md?plain=1#L74-L75
  20. github.com/Rod292/3d-home-tv-os/blob/0190ba88835d629437aff170528512264ae537f6/README.md?plain=1#L76
  21. github.com/Rod292/3d-home-tv-os/blob/0190ba88835d629437aff170528512264ae537f6/README.md?plain=1#L80-L81

This page is a short summary written by HardwareLab. Build steps, code and photos belong to the creator; follow “View original” for the full project.

Featured? Add this badge

Built this? Paste the badge into your README. It links back to this page.

Featured on HardwareLab

Markdown

[![Featured on HardwareLab](https://hardwarelab.dev/badge.svg)](https://hardwarelab.dev/projects/3d-home-tv-os/?utm_source=badge&utm_medium=referral&utm_campaign=launch_2w)

HTML

<a href="https://hardwarelab.dev/projects/3d-home-tv-os/?utm_source=badge&utm_medium=referral&utm_campaign=launch_2w"><img src="https://hardwarelab.dev/badge.svg" alt="Featured on HardwareLab" width="188" height="20"></a>
All 13 in Smart Home