How a Client Set Up Her Own AI Agent Without Sending Me a Password
One version of this onboarding had the client text me her server password and wait. That was the wrong product. Here's the version that shipped instead: four steps, a browser terminal, and an agent that installs its own memory.
A client I'll call V has her own AI agent. It runs 24/7 on a server she owns, and she texts it from Telegram like a friend who never sleeps. She has never opened a terminal, never touched SSH, and never sent me a password over chat. She set the whole thing up herself from one link — which is the part that took me three tries to get right.
$0
Her cost for the year
0 min
Her side of setup
0
Steps she does
0
Secrets sent over chat
The Versions I Got Wrong First
My first attempt was a DIY doc: pick a VPS, paste an install command, choose a model, start the gateway. Fine if you're me. Not a product for someone who has never seen a terminal prompt.
So I wrote a second version — the concierge one. She'd buy the server, create a Telegram bot, and then text me four things: server IP, root password, bot token, user ID. I'd SSH in, wire it up, and text her back when it was live. That felt helpful. It was actually the worst of both worlds: she still had to gather credentials she didn't understand, send them over chat, and then wait on me. I'd made myself a required dependency and called it service.
The question that killed that version was my own, reading it back: why do I still have to do step three — is this not a plug-and-play setup?If any step needs me to manually touch a client's server, that's a step to design away, not a step to perform faster.
What She Actually Does
This is the version that went out in July, and everything on her side happens in a browser and Telegram — two apps she already had open. What she works from is a single-page guide I build and host for each client: their own checkout link, their own copy-paste blocks, nothing generic. It isn't a public page — it's the deliverable, and building it is the entire remaining job. After I send it, I'm out of the flow.
@BotFather, sends /newbot, names it, and gets a bot token back. Then @userinfobot gives her a numeric user ID.curlcommand with those values as environment variables. She opens Hostinger's web terminal — a terminal inside a browser tab, no SSH client — and pastes it. Two or three minutes later it prints SETUP COMPLETE.The Unlock: A Terminal Inside a Browser Tab
Every version of this that required a real SSH client died on contact with a real person. Installing PuTTY or opening Terminal.app, managing keys, remembering an IP — each one is a place where a non-technical client stops and texts you instead. Hostinger's dashboard has a “Web terminal” button that opens a shell in the browser, already authenticated. That single button is the difference between a guide someone finishes and a guide someone abandons. Design the onboarding around it, not around SSH.
How Her Agent Remembers Things
The memory layer it installs for itself is MemPalace, and it uses an actual spatial metaphor — the people and projects in her life become wings, topics inside them become rooms, and the full verbatim thing she said lands in a drawer. Nothing is summarized on the way in, and it runs locally on her server with no API key. Here's the shape of it:
What I Did Anyway
Here's the honest footnote to all that self-service engineering: for her first run, I got on FaceTime and stayed on the call anyway. It was my first time doing this whole handoff fully remote, and it was genuinely fun watching it come together with her on the line.
It took a couple of hours — longer than the tidy version of this story would suggest — because after her command finished I got into the server through the Hostinger panel and checked every piece before telling her it was live.
Let me be exact about that, because it's the part that could read as a contradiction. What the design guarantees is narrow and specific: no secret of hers ever has to travel through a chat window or an email to reach me. It does not mean nobody ever had administrative access to that box — on the first run, I did, through the panel, with her sitting on the call. A claim like “zero credentials” is only worth making if you're willing to say exactly where its edges are.
SETUP COMPLETEis not the same as an agent that works. Before I tell anyone their assistant is live, I check that the bot actually answers and that the gateway is still up a few minutes later. I'd rather be slow than have someone's first message land in a bot that isn't really listening.What It Actually Costs
It all comes through one checkout: about $84 for twelve months of the KVM 1 plan, $5.99 for the starter AI credits, and a domain thrown in free for the first year — roughly $90 for a full year of an always-on assistant.
When those starter credits run out, the upgrade path is Ollama Cloud at $20/month. I want to be precise about that because I've seen it described as free, including once in my own notes. There is a free tier, but it has very limited usage, and $20/month is the number to plan around.
That's her infrastructure bill, not my invoice. What I charge to build and support one of these is a separate conversation, quoted per project.
The Pitfalls That Actually Bite
Most of what I know about this process is a list of things that went wrong once. The ones worth passing on:
- Enable systemd linger before starting the gateway. Without it, a user service dies the moment the session disconnects — so the agent works perfectly during setup and goes silent afterward.
- Have them message the bot before it's wired up.Telegram requires at least one message from a user before a bot may message them. Skip it and the agent's first reply fails silently, which looks exactly like a broken install.
- A Telegram user ID is not a phone number or a username. It's a numeric ID from
@userinfobot. Expect to redirect people here at least once. - Never set a default-drop firewall policy on a remote VPSunless the rule allowing your own SSH access has already landed. Locking yourself out of a client's server is a memorable way to learn this.
- Run the agent as its own user, not root.The install handles it; the temptation to skip it on “just a small VPS” is how small VPSes become incidents.
- Yes, it's a piped install command — and that's the point.Normally “paste this into your terminal” is how people get burned. It works here because the script is served over HTTPS from a domain I control and wrote, and because the alternative was worse: the only way to avoid the paste was to have her send me her credentials instead. One of those two risks travels through a chat log. The other doesn't.
The thing I keep relearning: the engineering that makes this feel simple is almost entirely about removing myself from it. If you want one of these for your own team — an agent on a server you own, memory that stays yours, and a setup someone non-technical can actually finish — that's the Agent System.

Joe's Tech Solutions — AI strategy and deployment for businesses ready to move.
Want One of These for Your Team?
This is the exact pipeline I run for clients — an agent on a server you control, memory that stays yours, and a handoff simple enough for someone who's never opened a terminal.