The source is in the private Euphoric-Software/POV repository on GitHub.

Build

Builds run in Docker, so Go doesn't need to be installed. From the repository root on Windows:

docker run --rm -v "%CD%:/src" -v pov-gomod:/go/pkg/mod -w /src golang:1.26-alpine sh -c "go test ./... && CGO_ENABLED=0 GOOS=windows go build -o bin/pov.exe . && CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -trimpath -ldflags='-s -w' -o bin/pov-linux-amd64 ."

This runs the tests and builds bin/pov.exe for Windows and bin/pov-linux-amd64 for the server.

Run in demo mode

bin/pov.exe -demo

Demo mode serves http://127.0.0.1:8090 with generated Twitch and Kick streams, past sessions and clips. It needs no credentials.

Real sign-in can't complete in demo mode. To try the admin page:

  1. Set POV_ADMINS before starting it.
  2. Add a matching row to users and a hashed token to user_sessions in the demo database.
  3. Set that token as the pov_session cookie.

Front-end changes

When web/app.js or web/styles.css changes, bump the ?v= numbers in web/index.html so browsers fetch the new files.

Checks

  • Watch page: paste tests/watch-check.js into the browser console on the site, then run await povWatchCheck(). It checks players loading and autoplaying, sound and chat following the selected stream, adding and removing streams, bad links, offline channels and VODs.
  • Dependencies: go run golang.org/x/vuln/cmd/govulncheck@latest ./...

© 2026 Euphoric Software