This morning I typed one command into my laptop, ssh into my own server, and it told me no. Permission denied. The AI employee I told you went live a couple of weeks ago is an open source AI assistant I forked and run myself, and it has been sitting this whole time on a small server I cannot log into from the machine I work on every day.
It has not stopped running. My Mac mini can still reach the box, so the thing has been doing its job overnight. I just have not been able to sit at my desk and drive it. For two weeks the most automated part of my business has been the part I could touch the least.
So let me tell you what the thing actually is, because I get asked.
The fork is of a project called openclaw, pointed at my prospecting. I had been reading and hearing about openclaw for months, people raving about it, and I decided I could not call myself a forward-thinking AI ops person without cold details on how it runs. Its tagline is "your personal, open source AI assistant, the lobster way." The part that mattered to me is the first three words. Personal. I wanted to own the agent and run it on my own server, not rent a seat in somebody else's product. So I forked it, stripped it down to one job, and put it on a small Linux box. This is the field-tested version of the salesperson I first wrote about back in May.
Here is how it works, start to finish.
Overnight, it watches my outbound database for one signal. Not a cold list to spray. A database of millions of companies, filtered down to my ideal customer profile, profitable small companies run by a non-technical owner who is open to AI, and then it waits for one thing: that company is actively hiring an AI person, an AI-ops person, or a general operations person. The morning a signal shows up, the agent writes a tailored first-touch to that company in my voice, something short and human about the role they posted and why a fractional team might beat the full-time hire. Then it writes that draft to a plain text file marked "pending review" and it stops.
My job is the five minutes after that. I open each draft, read it, and approve or discard. Approve and it loads into the sequence and the first touches go out on their own. Discard and nothing happens at all. The loop that checks whether I approved a draft is plain deterministic code. There is no AI in it. It opens each file, reads the status line, asks one question, does this say approved, and either makes the call and writes an audit line or moves on. The model only ever writes the drafts. The part that touches a real inbox always runs through me.
Three rules are built into the code, not the docs. The agent can only write into its own folder, it fails closed if anything asks it to write anywhere else. It will never send a first-touch without "approved" in the file. And every action it takes writes a line to an append-only log I can read later.
That is the agent. It is honestly the easy twenty percent.
The other eighty percent is the part nobody posts about. It is server plumbing. An SSH key that has to be on the right machine. A service that has to restart itself if the box reboots at three in the morning. And the one I kept putting off, getting the overnight drafts to sync from the server into Obsidian on my Mac, so I can read and approve them over coffee instead of squinting at files over a remote connection. I locked myself out because the box was set up from my Mac mini and my laptop's key was never added to it. Two weeks of "it's live" while the truth was "it's live on a machine I can barely reach."
If you are a founder thinking about putting an AI agent on your own infrastructure, this is the part to hear. The agent is a weekend. The plumbing is the job. Budget for it, or you end up like me, with a working AI employee and no clean way to actually work with it.
Today I am fixing it, and the fix is small, which is the most annoying kind. The mini still has access, so I can run a read-only check to confirm the service is up and the drafts are flowing, then add my laptop's key to the box in about two minutes. By tonight I should be approving tomorrow's drafts from my own desk for the first time since this thing went live.
Owning the agent was the right call. I just forgot that owning it means owning the boring parts too.
Monthly Revenues $11,000 | Clients 2 | Prospects (AI outbound agent now live) | Team: Me + part time Jan (CTO)
Day 88 of 365.