2 pointsby banktech484533 hours ago1 comment
  • banktech484533 hours ago
    Built a small Go app that turns a local folder of photos into a full-screen browser slideshow.

    The idea: mount a ./photos directory, run a container, point any browser at the IP — TV, tablet, old laptop — and it works like a digital photo frame. No gallery view. Also no uploads page. No database. The filesystem is the UI.

    Features that felt worth getting right: 1. Crossfade / slide / instant transitions 2. URL-param config (?seconds=15&shuffle=1&fit=cover) so you bookmark once and never touch it again 3. Long-lived cookie auth (set token once per device, stays for a year — good for TVs) 4. Screen Wake Lock API so the display doesn't sleep 5. Periodic directory re-scan to pick up new photos without a restart 6. Distroless container (~5MB), runs as nonroot

    The auth flow was the interesting design problem: you want something that works on a TV with no keyboard. Solution: visit /?token=YOURTOKEN once, it sets a 1-year HttpOnly cookie and redirects to a clean URL. After that the device stays authenticated silently.

    Repo: https://github.com/davidhfrankelcodes/frameserve Docker Hub: davidhfrankelcodes/frameserve:latest