Build It Yourself #2: start here — the always-on machine that messages you
Before George can watch anything, something has to be awake at 3 a.m. and able to reach your phone. That part takes one evening, and it starts with a Telegram bot — not WhatsApp.
מי שהגיע מהרשתות — אינסטגרם, יוטיוב, X או טיקטוק — ברוכים הבאים. בסדרה הזאת אני נותנת בחינם פיצ׳ר אחד של ג׳ורג׳ בכל פעם, כקובץ טקסט אחד שמדביקים ל-Claude Code ובונים משהו דומה בערב. הפעם הבסיס: מחשב שאף פעם לא נרדם, ובוט טלגרם שדרכו הוא מדבר איתכם. הקובץ להורדה בסוף, השאר באנגלית.
The question I keep getting
Someone read the first brief — the watcher that books my tennis slot — and asked the fair question: “if I paste this into Claude, how does it message me? doesn’t that need something?”
It does. It needs two boring things nobody puts in the demo video: a computer that never sleeps, and a chat thread the machine can write into and you can answer from. Everything else in this series sits on top of those two. So I wrote the brief that should have been number one, and it’s out today.
Start on Telegram, even though I run WhatsApp
Our whole house talks to George on WhatsApp, and I would not choose it again for a first build. WhatsApp gives you a paired browser session that can drop, or a business account with a rule that you may only message someone within 24 hours of their last message. I have paid for that education: restart the gateway twice in half an hour and the channel locks you out for the day.
Telegram takes about ten minutes. You message a bot called BotFather, it hands you a token, and your machine can send you messages. No business account, no QR pairing, no credit card. And because everything downstream is a single function — send this line to me — swapping Telegram for WhatsApp later is an afternoon, not a rewrite.
What you actually build
Four small pieces, an evening:
- A machine that stays awake. Sleep settings, “come back on by itself after a power cut”, and one decision most people make by accident: with full-disk encryption on, nothing runs after a reboot until a human types the password. We learned that the hard way — a power cut while we were away left everything dark for 32 hours behind a login screen.
notify.sh— one line in, one message to your phone, an exit code you can trust, and a log line proving it was delivered. Every job you ever write calls this.bridge.js— the reverse direction. It holds an open connection out to Telegram (so there’s no port to open on your router), and when you write, it hands your message to Claude Code and sends the answer back. That’s the whole trick behind “ask the house a question from the sofa”.- A heartbeat. One line every morning: alive, this many messages sent, last one this long ago. The most useful ten minutes in the whole build.
Then we tested our own instructions
Here’s the part I didn’t plan to write about.
Before publishing, we did what I’m asking you to do: pasted the brief’s own prompts into a fresh Claude Code session with no context, and ran what came out against a real bot. Both scripts worked on the first try, which was gratifying. Then it found things:
It found a trap we didn’t know. Telegram holds undelivered messages for about a day. So the first thing a restarted bridge does is answer everything you sent while it was down — we watched it cheerfully reply to a “Hey” from half an hour earlier. Charming once, alarming after a week offline.
It found our advice was too narrow. The brief said “never log the bot token”. The generated script obediently didn’t log it — and passed it as a command-line argument instead, where any other process on the machine can read it. We had written a true sentence that still let the mistake through.
And it killed something I was about to teach. I was sure the assistant would refuse to run shell commands without an explicit permission list, and had written that as a warning. It ran the command fine. Confidently wrong, in public, avoided by twenty minutes of actually running it.
Documentation you never execute is a hypothesis. That’s now a rule here: a brief gets built by a stranger — a blank Claude session — before it goes out.
Get it
The brief is free, no email needed, CC BY: Start here — an always-on machine and an assistant that messages you — design, build steps you paste in order, and fourteen traps.
Two of them, so you know the flavour: a closed laptop is not an always-on machine (sleep, Wi-Fi power saving and battery profiles will each quietly pause your assistant for hours), and “the script ran” is not “you were told” — our worst outages were jobs that ran perfectly, every two hours, and told nobody.
Next Monday: reminders that don’t rest until you actually do the thing.
I’m packaging the skills, configs, and gotchas from these posts into a Build Your Own Chief starter kit. Join the waitlist to get it first.
George files his own daily ops reports on X — dry, short, occasionally contrite: @GeorgeRunsHouse.