Built different. Burt is a Hermes Agent that doesn't sleep, doesn't miss a beat, and doesn't send a status update when nothing changed. He runs 98 cron jobs and 2,000+ custom scripts across three directories on a local GPU — transcribing podcasts on-device, classifying email before it hits the cloud, polling sensors every 5 minutes, and watching the network so you don't have to. 85% of his work never leaves the building. The other 15%? That's when he phones home for the heavy lifting — morning briefs, meeting nudges, the conversations that actually need a bigger brain. He's sarcastic, brief, and allergic to filler words. If there's nothing to report, he says nothing. If something's on fire, he says one line and gets out of the way.
🏠
Home Automation & Monitoring
94 cron jobs watching the homelab: VPN monitoring, smart home sensors, network alerts, air quality, household reminders, and location syncing.
🕰 24/7 monitoring
📧
Email & Reports
Classifies incoming email with local AI, sends daily digests and weekly reviews, processes expense receipts, auto-archives handled mail, and delivers HTML briefs on schedule.
🕰 3 briefs/day
⚡
Utility & Energy Tracking
Polls energy circuits via smart home hub every 5 minutes, tracks water usage, aggregates hourly, and sends weekly reports with cost breakdowns and anomaly detection.
🕰 Real-time monitoring
🏋️
Health & Fitness
Syncs fitness tracker data hourly, tracks macros and meals, sends gap nudges on weekdays, delivers weekly BM analytics with nutrition correlation, and generates on-demand health reports with sleep, mood, and vitals.
🕰 3 nudges/day
🛡
Security & Infrastructure
9 monitors running 24/7: SSH auth logs across 6 servers, daily compromise detection, weekly email report, NetBird peer + proxy monitoring, reverse proxy traffic anomaly detection, config drift, public IP/uptime, and domain expiry tracking.
🕰 Continuous scanning
🎙
Podcast & Content
Downloads security podcasts, transcribes with local speech-to-text, summarizes with local AI, and delivers weekly digests.
🕰 Weekly pipeline
🚗
Vehicle & Location
Monitors fuel level, alerts when low with nearby station prices, tracks household locations, and answers nearby-search queries on demand.
🕰 Every 30 min
📊
Status Board & Self-Monitor
Tracks pipeline health, gateway uptime, model changes, and config drift across all 94 cron jobs — alerts only on state changes.
🕰 5-min health checks
Burt keeps Ernie's entire infrastructure running and up to date across 6 servers (rtmail, netbird, up, plex, NOMAD, walrus). Here's how:
- 🔄 Docker Auto-Update — Sundays at 4 AM, automatically pulls new images for safe services and flags ones that need manual review. 35+ Docker containers across all hosts.
- 🔧 Complex Service Updates — Tuesdays at 10 AM, checks for updates to Kasm, Mailcow, Hermes Agent, and Rocket.Chat (3 instances). Reviews changelogs, flags breaking changes, and waits for go-ahead before touching anything.
- 🌐 NetBird VPN — Monitors peer status every 15 minutes, watches reverse proxy config changes daily, and detects proxy traffic anomalies every 2 hours (scanner IPs, backend errors, auth brute force, new countries, volume spikes, new IPs on Rocket.Chat).
- 🛡 Security Suite — 9 monitors running 24/7: SSH auth logs (every 2h), daily compromise detection (6 AM), weekly security email report (Sundays 8 AM), proxy config drift, proxy traffic anomalies, NetBird peer changes, public IP/uptime (every 5 min), and weekly service update checks.
- 📦 Proxmox — Collects VM/container/node/storage stats every 30 min, generates weekly right-sizing reports with recommendations.
- 💾 Backups — Daily Restic backups of mailcow, walrus, NOMAD, and code server to NAS. Verifies sync status and alerts on failures.
- 🔍 Self-Repair — Health checks every 5 min with an incident queue. Auto-restarts failed containers and reboots stuck VMs. Escalates to Telegram when repair fails or is too risky.
- 📊 Config Drift — Watches Hermes config, cron jobs, and environment every 30 min. Alerts only on changes. Nightly recap at 10 PM.
All monitoring is pure Python, zero AI tokens. Silent when clean — Telegram alerts only on anomalies. 90-day data retention with automatic cleanup.
local speech-to-text · small language models · custom API
large language models (cloud)
The vast majority of routine work runs locally on small models and Python scripts — email classification, podcast transcription, health tracking, utility monitoring, and all 94 cron jobs. Cloud AI is reserved for conversations, complex reasoning, and tasks that need a larger model.
🏠 Runs locally
- Email classificationlocal small model
- Podcast transcriptionlocal speech-to-text
- Podcast summarizationlocal small model
- Health & fitness trackingcustom API + local scripts
- Utility & water monitoringPure scripts — no AI
- Household remindersPure scripts — smart home hub
- Vehicle fuel & locationPure scripts — smart home hub + places API
- Email template renderingLocal script + small model
☁️ Uses cloud
- Conversations & requestscloud LLM
- Morning & evening briefscloud LLM
- Post-meeting nudgescloud LLM
Every 5 min
Health monitoring, Blue Jays game tracking, reminder engine, and self-health checks
Every 15 min
VPN peer monitoring, location sync, air quality 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, GO Transit, health, and Blue Jays
8:00 AM weekends
Weekend morning brief (same pipeline, later start)
9:30 PM daily
Evening brief: security recap, health summary, utility report
Sat 8 AM
Weekly BM analytics report with nutrition correlation
Sat 11 PM
Podcast pipeline: download, transcribe, summarize
Sun 9 AM
Weekly check-in: health summary, domain expiry scan, and config drift report
On demand
Deploys, research tasks, food logging, health reports, BM tracking, ad-hoc queries