Projects & Ideas

Features built, in progress, and planned for the NPS stack — Plex, Unraid, Grafana, Frigate, and everything running alongside them.

Live on the Portal

📊

Private Dashboard

Central ops page at /dashboard pulling together Plex, downloads, weather, speed test, system health, UPS, and Docker status — all live, no separate logins needed.

PHPTautulliUnraid APIDocker
Live
🆕

New on Plex

Poster grid of recently imported movies and TV from Tautulli, with IMDB links and hover synopsis. Updates on every page load.

TautulliPHP
Live
📺

Plex Library Stats

Live counts of movies, TV shows, seasons, and episodes pulled from Tautulli's library table. Displayed as a 4-stat grid on the dashboard.

TautulliAPIPHP
Live
▶️

Now Watching

Live banner showing who's streaming on Plex right now — user, title, episode, and playback progress. Refreshes every 30 seconds via Tautulli.

TautulliPHP
Live
📅

Upcoming Releases

7 or 30-day calendar of episodes and movies coming to your libraries, pulled from the Sonarr + Radarr upcoming API. Cards and calendar view.

SonarrRadarrFlask
Live
⬇️

Download Queue & Clients

Live download queue from Radarr and Sonarr with progress bars. qBittorrent speeds, seeding count, and total upload. nzbget download speed, queue size, and pause state.

RadarrSonarrqBitnzbgetPHP
Live
🖥

System Health

Unraid array state, storage used/free, cache pool size, live RAM and CPU % sampled from /proc. UPS status, battery charge, runtime, load watts, and output voltage — all via the Unraid GraphQL API.

Unraid APIPHP
Live
🐳

Docker Container Status

Live list of all Docker containers with running/stopped state, sorted running-first. Pulled from the Unraid GraphQL API, refreshes every 30 seconds.

Unraid APIDockerPHP
Live

Connection Speed

Latest speedtest result pulled from speedtest-tracker — download, upload in Mbps and ping in ms. Selects the most recent completed test by ID to avoid timezone-stale results.

Speedtest-TrackerAPIPHP
Live
🌤️

Weather Widget

Current conditions and 7-day forecast using Open-Meteo and IP geolocation. Temperature, weather description, precipitation probability, and daily hi/lo chips.

Open-MeteoPHP
Live
📸

Camera Dashboard

Live snapshots and recent motion events from Frigate NVR, with per-camera clip history. Authentication-gated for camera management.

FrigateAPIPHP
Live
📶

Speed History

Dedicated chart page at /speedtest-history graphing download, upload, and ping trends from Speedtest-Tracker over the last 25–250 runs, with peak and average stats. Clickable straight from the dashboard speed widget.

Speedtest-TrackerAPIPHP
Live
🔤

Subtitle Coverage

Bazarr panel on the dashboard — missing-subtitle counts for episodes and movies alongside total monitored series and movies, color-coded so gaps stand out at a glance. Refreshes every minute.

BazarrAPIPHP
Live
🎮

Game Library

Self-hosted RomM retro game library — artwork, metadata, and platform sorting, with protected remote access so friends can browse and play.

RomMAPI
Live

In Progress

📚

BookBridge

Bridges the book download folder to Audiobookshelf. Scans every audiobook and ebook, matches each to metadata from Audnexus, Google Books, OpenLibrary, MAM, and Prowlarr, then imports to ABS in the folder structure it expects — source files are never touched. Also searches MAM and grabs straight to qBittorrent with the right save path and tags.

FastAPIReactAudiobookshelfqBittorrentProwlarr
Building

Ideas & Future

📊

Grafana Panel Embeds

Telegraf + InfluxDB are collecting system metrics. Embedding a few key Grafana panels — CPU, RAM, network IO — directly on the portal would bring monitoring front-and-center.

GrafanaInfluxDBTelegraf
Idea