- custom skills
- 17custom skills
- on a Hetzner VPS
- 24/7on a Hetzner VPS
- job boards polled twice a day
- 60+job boards polled twice a day
- a month to run
- <$10a month to run
- Press play to watch a voice note become a log, a vault write, and the next morning’s brief.
Re-created from real logs. The shape of every event is exactly how it lands; the numbers are illustrative.
What it is
Hermes is the open-source Hermes Agent framework with a layer of my own on top: skills, cron jobs, patches to the source, a deploy pipeline, tests. It lives in Telegram, so I just send it a voice note or a photo or a line of text and it goes and edits my Obsidian vault, which is where I keep basically everything about my life.
The health loop was the first thing I built. I say what I ate, it transcribes that, looks up the macros, writes it into the day’s note and keeps a running total against my targets. My Apple Watch pushes sleep, heart rate variability, resting heart rate and steps over a private network to a small listener on the box, and a morning job folds all of it into the same note. I never type any of it.
What it grew into
Then it turned into the thing running my internship search. Twice a day it polls the careers APIs of about sixty companies, reads every job description with a small model against a written rubric to score how good a fit it is and catch anything that disqualifies me, removes the duplicates, and writes what’s left into a Google Sheet I can edit from my phone. A separate watcher texts me the moment somewhere I actually care about opens a role. Every morning another job reads my inbox and matches rejections, assessments and interview invites back to the right row.
What made that work wasn’t the model, it was writing the rubric down. A cheap model was all over the place when I just prompted it, and completely stable once it had an actual decision procedure to follow, rules for what disqualifies a role with guards against false positives, and a small set of labelled cases every version had to pass before I’d ship it.
What broke
Nearly all the interesting engineering here was reliability, and I only learned it by breaking things. The agent edited its own source code once, so writes are sandboxed to a scope now. The deploy pipeline jammed quietly for seven weeks, a background job deleted one of the skills, and four of my reminders inverted into daily false alarms. None of it got noticed, because the health check I’d written couldn’t actually fail. I rewrote every check so it would be loud if the thing it was watching broke, put a watchdog outside the box, and made every limit in the system say something when it gets hit.
Cost was the other one. I spent weeks planning tiered routing and eval harnesses to keep it under forty dollars a month, then finally measured what it was costing me. About seven. I’d built a plan for a problem I didn’t have.
Code
The operational layer is public at github.com/SparshK312/sparsh-hermes-agent. The framework underneath is Nous Research’s Hermes Agent, installed separately.