02
Hermes
2025 to Present · Solo · Local LLMs · LM Studio · Python · Telegram · Gmail · Notion
SCROLL

Context
Hermes is a personal AI agent that runs on my own hardware and does real work in my real accounts. I built it because I wanted to understand how agentic systems actually work: the tool calling, the memory, the failure modes. Wrapping a hosted API and calling it a day wouldn't have taught me much.
What I built
A local model served through LM Studio drives an agent loop with tool access to Gmail and Notion. The main job is a Gmail pipeline: it reads new mail, sorts it into categories (academic, finance, action-required, project), works out what actually needs a reply, applies the labels, and pushes only the important records into a Notion dashboard. A SQLite database tracks what's already been processed so nothing gets handled twice, with Notion as the long-term store. The scheduled runs happen whether I'm at the machine or not.
Key decisions
Running the model locally was the point. It forces you to deal with everything hosted APIs hide: context limits, flaky tool calls, latency, and what happens when the model is confidently wrong with write access to your inbox. So ordinary code owns the control flow, and the model only gets consulted where judgment is actually needed. It can classify, label, and export, but it can't send, archive, or delete anything without me looking first. Early on, bulk security notices kept creating duplicate Notion records; grouping logic and stricter classification rules fixed that.
Outcome
I use it every day, and it taught me more about the distance between an agent demo and an agent you can actually trust (reliability, state, permissions) than any tutorial would have. That's the kind of problem I want to keep working on.