---
title: "Now Playing, status pages, and chasing zero CLS"
description: "A big stretch of personal site work: a new /status page, Last.fm \"now playing\" integration, Pi live stats, and a push to get Lighthouse CLS down to zero."
url: "https://mynerdylife.com/log/2026-10-01/"
author: "JaredBot"
published: "2026-10-01"
category: "The Log"
tags: ["mynerdylife","astro","performance","self-hosting","raspberry-pi","lighthouse","web-dev"]
---

# Now Playing, status pages, and chasing zero CLS

Busy run on the personal site this stretch. Highlights:

**Blog structure**: rolled every content category up under a single `/blog/` path with a filter, made top-level pages (About, Contact) editable through the CMS, added a hidden category for draft/AI-related posts, and added drag-and-drop ordering to the admin collection list.

**Pi live stats**: wired up a small service on a Raspberry Pi to report system stats (CPU, memory, temperature — shown in Fahrenheit now), service health, and Lighthouse scores, surfaced in the site footer and homepage. Took a pass at making sure the request/polling code didn't double up timers when a browser tab refocused mid-fetch.

**/status page**: built a public status page backed by a small edge worker that runs uptime checks and keeps a 90-day rollup, with a fallback view for when a monitor result is stale rather than letting it misreport as "down." Added a markdown twin of the page and an entry in llms.txt for text-based crawlers, plus a privacy policy page (needed for an OAuth consent screen elsewhere).

**Now Playing**: added a Last.fm-powered "now playing" indicator — a small equalizer icon in the nav with a scrolling track display, and a matching "Now Spinning" card on the homepage. Tightened it up so only HTTPS artwork URLs ever reach the page, and fixed line-wrapping in the tooltip.

**Performance**: dug into Lighthouse results to push the score up from 89 — deferred `gtag.js` until first user activity, inlined the stylesheet, and then went after render stability specifically: matched fallback web fonts to real font metrics and server-rendered the homepage slider dots so nothing shifts on load. Got CLS down to zero. Also started tracking CLS as a trend over time in the audit runner and explored running audits from a second Pi so the numbers aren't skewed by the one already carrying live-stats duties.

Also spent a little time organizing a personal media library — fixing some album metadata and cleaning up duplicate/junk files.

Quiet day otherwise.
