Telegram Formatting Is Finally Useful for Automation

Most notification systems do not have an information problem. They have a presentation problem. The email system had already done the hard work. In an earlier post, I described the scoring pipeline that separates mail needing an immediate alert from messages that can wait for the evening summary or a later review. More recently, I wrote about removing recurring junk at the source, rather than merely teaching the filter to tolerate it. ...

July 24, 2026

The Update Worked. The System Still Broke.

This was the worst OpenClaw update I have had. Not because one command failed. That would have been easy. It was worse: Telegram disappeared immediately after the update, openclaw doctor could not repair it, the local TUI was broken too, the first workaround degraded the system, and the beta recovery path corrupted enough state that I had to bring in a standalone Claude session from outside OpenClaw to patch SQLite manually. ...

July 18, 2026

Turning Unsubscribe Into Maintenance

Email junk does not arrive as one dramatic flood. It accumulates quietly. A shop you bought from once starts sending three promotions a week. A travel site mistakes one booking search for lifelong intent. A restaurant app decides you need personalised recommendations forever. None of these messages are individually offensive. That is why they survive. But the result is stupid: an inbox full of tiny claims on attention. So I asked Closp to audit the last month of Gmail and find the recurring junk worth unsubscribing from. ...

June 20, 2026

Using a Raspberry Pi to Prove My Broadband Fault

Intermittent broadband faults are annoying because they are both obvious and hard to prove. When the internet disappears during a call or a movie, everyone in the house knows it happened. But by the time the provider asks for evidence, the connection is back, the router status page looks normal, and the conversation slides toward the usual script: reboot the router, check the WiFi, wait and see. My issue looked like the ONT going down periodically. Connectivity would disappear, then recover after roughly 10-20 minutes. I needed precise timings for Sky and Openreach, not a vague memory of “it was bad again this morning”. ...

June 15, 2026

Building a CCTV History Portal on a Raspberry Pi

My garden CCTV system started with a simple loop: Frigate detects movement, a Python script sends a Telegram notification, and I can look at a snapshot or short clip from my phone. That was good enough for real-time alerts. It was not good enough for history. Telegram is a terrible archive browser. It is excellent at interrupting me when something happens, but bad at answering questions like: What happened in the last two hours? Did I miss a person detection yesterday? Which clips exist for this camera? Can I open the full event without digging through chat history? So the next small project was obvious: keep Telegram as the notification surface, but build a proper CCTV history portal on the Raspberry Pi itself. ...

June 14, 2026

Why I Moved OpenClaw from Anthropic API to OpenAI GPT-5.5

At the end of March, my OpenClaw setup hit an awkward wall. For a while, Anthropic OAuth access had been good enough for day-to-day agent work. Then access tightened. I do not mean “the model got slightly slower” or “one request had to retry”. I mean the system became unreliable enough that I was pushed toward the API path. That sounded fine in theory. In practice it turned the assistant from a predictable tool into a metered engineering problem. ...

June 8, 2026

Giving My AI Assistant a Personality: Unaha-Closp

Most AI assistants are designed to be agreeable. They say “Absolutely.” They praise the question. They hedge every answer until nothing is left but damp corporate fog. This is fine if the assistant is a search box with manners. It is not fine if the assistant has access to your shell, email, calendars, automations, Raspberry Pi, finance reports, blog drafts, and the long tail of unfinished things that make up a real life. ...

June 6, 2026

When My AI Assistant Lost Its Shell

I run a Raspberry Pi 5 at home as part of my OpenClaw setup. It started as an OpenClaw node connected through an SSH tunnel, then became a garden CCTV box running Frigate and recording video clips. By this point it is a camera box, a Frigate server, a Hailo detector host, and a remote machine my AI assistant can inspect from Telegram. At least, that was the idea. After a recent OpenClaw update, the Pi still looked connected. It was visible in the gateway. It was paired. It had broad permissions. The UI suggested everything should work. ...

June 3, 2026

Offloading AI Detection from CPU to Hailo-8L on Raspberry Pi 5

In my previous post I built a garden CCTV system using Frigate NVR on the Pi 5. It worked well — but the AI object detection was running on the CPU, consuming about 35% of a core just sitting there waiting for motion. I installed a Hailo-8L AI HAT to move that workload to a dedicated NPU, and the results were exactly what I hoped for. This post documents the migration: what the Hailo AI HAT is, how to install the driver (with the version pitfalls that will catch you), and how to wire it into Frigate. ...

May 24, 2026

Building a Garden CCTV System with Raspberry Pi 5 and Frigate

In my previous post I connected a Raspberry Pi 5 to my AI assistant as a remote node. The natural next step: attach a camera and turn it into a proper garden security system — motion-activated, AI-powered, with notifications straight to Telegram. This post documents what I built: Frigate NVR running on the Pi 5, a Freenove 8MP camera module, automated clip retention, and a Python bot that sends snapshots to a private Telegram channel the moment something moves. ...

May 16, 2026