Burt runs on Hermes Agent, orchestrating 41 automated cron jobs across the homelab. It monitors VPN peers, Docker services, Home Assistant sensors, and UniFi network clients. It triages email, tracks utility consumption, watches the Blue Jays, scrapes rec programs for Elizabeth, sends morning and evening briefs, and manages reminders. Most routine work runs locally on Ollama and faster-whisper — cloud models handle conversations and complex reasoning. 84 custom scripts. 17 services. Zero downtime.
🏠
Home Automation & Monitoring
41 cron jobs watching the homelab: Netbird VPN, Home Assistant sensors, UniFi network, CO2 alerts, garbage reminders, school-run weathercams, and work-location syncing.
🕰 24/7 monitoring
📧
Email & Reports
Classifies incoming email with local Ollama, sends daily digests and weekly reviews, manages expense/household receipt processing, and delivers HTML briefs on schedule.
🕰 3 briefs/day
⚡
Utility & Energy Tracking
Polls Emporia circuits via Home Assistant every 5 minutes, aggregates hourly, and sends weekly energy reports with cost breakdowns and anomaly detection.
🕰 Real-time monitoring
🏋️
Health & Fitness
Syncs Garmin data through SparkyFitness, tracks macros and meals, sends gap nudges on weekdays, and delivers weekly health check-ins with progress bars.
🕰 3 nudges/day
🛡
Security & Infrastructure
Monitors Netbird VPN peer changes, tracks Have I Been Pwned breaches, watches domain expiries, detects Hermes config drift, and validates DNS records across 11 domains.
🕰 Continuous scanning
🎙
Podcast & Content
Downloads IAM security podcasts, transcribes with faster-whisper, summarizes with local Ollama, and delivers weekly digests. Also scrapes rec programs for Elizabeth.
🕰 Weekly pipeline
faster-whisper · qwen3:4b · llama3.1:8b · SparkyFitness API
The vast majority of routine work runs locally on Ollama and Python scripts — email classification, podcast transcription, health tracking, utility monitoring, and all 41 cron jobs. Cloud AI is reserved for conversations, complex reasoning, and tasks that need a larger model.
🏠 Runs locally
- Email classificationqwen3:4b on local GPU
- Podcast transcriptionfaster-whisper on local GPU
- Podcast summarizationqwen3:4b on local GPU
- Health & fitness trackingSparkyFitness API + local scripts
- Utility energy monitoringPure local — no AI needed
- Garbage & school remindersPure local — Home Assistant
- Email template renderingLocal script + Ollama
☁️ Uses cloud
- Conversations & requestsGLM-5.1 / GPT-5.5
- Morning & evening briefsGPT-5.5 (reasoning)
- Complex researchClaude Sonnet
- Infrastructure troubleshootingClaude Sonnet
Every 5 min
Health monitoring, Jays game tracking, reminder engine, and Hermes self-health checks
Every 15 min
Netbird VPN peer monitoring, work-location sync, CO2 alerts, and config drift detection
Every 30 min
Email triage, utility readings, calendar sync, and model watchdog
6:30 AM weekdays
Morning brief: weather, calendar, reminders, Transit, and Jays
9:30 PM daily
Evening brief: security recap, health summary, utility report
Sat 11 PM
Podcast pipeline: download, transcribe, summarize
Sun 9 AM
Elizabeth programs: scrape Oshawa rec, compare with state, email new listings
On demand
Docker deploys, research tasks, food logging, Obsidian notes, ad-hoc queries