Sparsh Kochhar

Hermes

A personal AI agent I built and still run, repo is publicMay 2026 to now

An agent I talk to from my phone. It keeps my health log, reads my inbox, finds and ranks internship postings, and sends me a brief every morning. It’s been running on a VPS since May.

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
A day in the feed
  1. 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.