Build an eval harness for 184 AI agent prompts with promptfoo

How to build an LLM-as-judge eval system that scores AI agent prompts on quality, identity, and safety.

March 30, 2026 · 9 min · Russell

Backup and Disaster Recovery

Automate backups, test restores, and build a disaster recovery runbook for your VPS.

March 29, 2026 · 4 min · Russell

Build a Hugo-to-Dev.to sync engine in Go

How to build a CLI tool in Go that syncs Hugo blog posts to Dev.to via the Forem API, handling canonical URLs, tag sanitization, rate limits, and content transformation.

March 29, 2026 · 5 min · Russell

Generate Open Graph images with Playwright and an HTML template

Build a script that generates consistent OG social card images from an HTML template using Playwright screenshots, with smart caching and series-aware gradients.

March 29, 2026 · 5 min · Russell

Prompting isn't engineering, it's storytelling

The best prompts don’t give instructions. They set a scene the model can reason inside.

March 29, 2026 · 3 min · Russell

Deploying Mercure alongside Caddy on a shared VPS

How to run Mercure for real-time SSE alongside Caddy as your web server, with solutions for port conflicts, gzip interference, and JWT configuration.

March 28, 2026 · 4 min · Russell

Monitoring, Alerting, and Incident Response

Set up lightweight monitoring and alerting for a solo-developer VPS, plus a post-incident checklist.

March 28, 2026 · 6 min · Russell

Real-time messaging with Mercure SSE in PHP

How to build a real-time messaging system with Mercure server-sent events, covering threads, user blocking, and email digests.

March 28, 2026 · 4 min · Russell

Automated Patching and Server Maintenance

Configure automatic security patches, detect stale services with needrestart, and keep logs and Docker images from filling your disk.

March 27, 2026 · 3 min · Russell

Building a contact database for Indigenous harvesting authority governance

How I built a two-notebook pipeline using ISC profiles and community website scraping to collect governance contacts for ~637 First Nations communities across Canada.

March 27, 2026 · 5 min · Russell