A desktop app that plays YouTube Music and serves a now-playing overlay for OBS.
The app is a single Electron window that loads `music.youtube.com`. It also runs a small HTTP/WebSocket server on `localhost:9095` that streams the current track to any connected overlay client. Point OBS (or any browser) at `http://localhost:9095/` to see the overlay.
## Run from source
```
cd desktop-client
npm install
npm start
```
The app opens. Sign in to YouTube Music. Play a track. Visit `http://localhost:9095/` in another browser to see the overlay.
## Build a Windows zip
```
cd desktop-client
npm run build -- --win zip --x64
```
Output: `desktop-client/dist/WhatsThatMusic-<version>-win.zip`. Unzip on a Windows machine and run `WhatsThatMusic.exe`. The app is unsigned, so SmartScreen will warn on first launch — click "More info → Run anyway."
## OBS setup
1. Add a *Browser Source*.
2. URL: `http://localhost:9095/`.
3. Width / height: match your scene (the overlay positions itself absolutely; 1920x1080 is fine).
4. Make sure the app is running before OBS loads the source.
## Tests
```
cd desktop-client
npm test
```
Runs the `node:test` unit suite (`desktop-client/tests/`).
## Layout
-`desktop-client/` — the Electron app (main entry, server module, preload scraper, tray).
-`overlay/` — static HTML + JS the bundled server serves at `/`.