A 24/7 AI Operations Agent on a Raspberry Pi
The outcome
I built an always-on AI assistant that runs on a small computer on my desk and handles the daily operational work across my businesses: morning briefings, monitoring, research, and draft prep. It costs about twenty cents per briefing to run, and it has already caught things I would have missed, including a customer order and a serious security gap in another product I'm building.
How I thought about it
What was actually going on. I run several businesses on my own. The bottleneck was never ideas or tools, it was catching things. Stuff slips when one person is watching every inbox and every project. I wanted a reliable digital employee that acts, not just one that reports. The constraints shaped everything: cheap hardware (a Raspberry Pi with 8GB of RAM), a home internet connection, real cost sensitivity, a single operator, and me being a capable builder but not a career systems administrator. Standing the whole thing up took roughly seven to eight hours of setup and troubleshooting.
What I decided, and what I ruled out. This is the part that matters.
Harness: I moved the agent from OpenClaw to Hermes. OpenClaw made me design every workflow by hand up front, which I never had time to do, so it detected tasks but never acted on them. Hermes writes reusable skills from completed work, so it gets more capable through use. I've watched it write a reusable skill from a completed task, so that learning loop isn't theoretical. The honest note here is OpenClaw wasn't a mistake because Hermes didn't exist when I started. The reason to switch was a more reliable harness that learns instead of needing me to hand-build every automation.
Billing and auth: I run it on a direct API key, not a subscription's OAuth path. OAuth billing rides a subscription pool and gets metered inconsistently for agent traffic; a direct key is clean pay-per-token, fully separated from my personal subscriptions.
Vendor strategy: I built it model-agnostic, with a deliberate exit path from any single provider. I ruled out routing everything through one vendor's own gateway, the convenient default, because the entire point was to never be locked to one.
Cost routing: I match the model to what the task actually demands instead of defaulting to the most capable one. Reasoning-heavy work like planning and goals routes to a stronger model; writing and presenting data routes to a cheaper, faster one. Right now Hermes runs a single mid-tier model, because nothing it does calls for frontier reasoning and paying for that would be waste. I ruled out the habit most people fall into, defaulting everything to the biggest model available. Task and output decide the model, cost as a standing consideration, and for a client that same call is the deliverable, sorting which of their workflows justify frontier capability and which don't.
Sequencing: prove one layer before adding the next. Base agent, then the Telegram interface, then the memory layer, then containerization, then more channels. I ruled out standing everything up at once, because when something breaks you want one suspect, not four.
Where this could break
The honest failure modes, including the one that already bit me. The first time I connected email, on the original build, the agent started auto-responding to every message hitting my inboxes. I caught it and shut it down fast. That incident is the reason "never send anything outbound without my review" is now a hard boundary in the system, not a preference. Beyond that: it runs on a home IP, so a lot of sources block automated access, and I route around them rather than pretend it can read everything. It still runs commands as the machine's own user, which is fine for a private single-user box and is exactly why containerizing that layer is the next hardening step before this ever points at a client's data. And it is single-user. The learning loop works, but I haven't pushed it into heavy autonomous work, because on a solo workload the next automated task doesn't always pay for its own tokens yet. That's a deliberate cost call.
What changed
Before, things slipped and capture depended on me remembering. Now a briefing lands every morning for about twenty cents, monitoring runs without being asked, and the agent has already flagged a real customer order and a real security gap in another product that would otherwise have gone unnoticed. It runs for roughly six to eight dollars a month at my current usage, on hardware I own, with no vendor lock-in.
What I'd do next
Harden the terminal layer with container isolation before this touches any client data, then expand the autonomous task set only where the tokens actually save money.