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

Never Miss a Clear Night: Automated Sky Alerts for My Seestar S50

I got a Seestar S50 — ZWO’s little smart telescope — about a year ago. The hardware is excellent: point it at anything, tap the app, watch the stacking happen live. But there’s an unavoidable problem with amateur astronomy in London: the weather. M31 — the Andromeda Galaxy, our nearest large neighbour at 2.5 million light-years. Seestar S50, 46 minutes integration, July 2025. Dust lanes visible along the disc; M32 satellite galaxy upper right. ...

March 8, 2026

Building an Advanced Email Filtering System: From Hardcoded Patterns to Machine Learning

Email overload is a modern disease. Hundreds of emails a day, most of them noise. Newsletters you forgot you subscribed to. Marketing emails disguised as personal messages. Bank statements. Gas bills. The occasional important email buried in the flood. I tried fixing this with a simple ignore list. It didn’t scale. This is the story of how I built a multi-layer email filtering system that replaced hardcoded bash patterns with intelligent scoring, security scanning, and adaptive learning. ...

February 21, 2026

Building an AI & Tech News Digest from Email Newsletters and HackerNews

Keeping up with AI and tech news had become a full-time job. Superhuman AI newsletters, TLDR digests, HackerNews front page, Reddit ML discussions — easily an hour a day just staying current. Information overload disguised as staying informed. I needed a system that would curate the signal from the noise, deliver it on my schedule, and stop the constant context-switching between platforms. The Problem Tech news comes from everywhere: Email newsletters (Superhuman, TLDR) — great curation, but buried in inbox HackerNews — high signal, but requires active browsing Reddit (r/MachineLearning, r/artificial) — community-driven, hit or miss Twitter/X — real-time, but drowns in noise Each source has value, but checking all of them daily is unsustainable. I needed a weekly digest that: ...

February 18, 2026

Building a Personal Finance Tracker: From Bank PDFs to Interactive Dashboard

Most personal finance apps want access to your bank accounts. I didn’t want that. Instead, I built a system that processes bank statement PDFs, categorizes every transaction, and generates an interactive dashboard—all locally, with no data leaving my machine except monthly summaries. Here’s how we built it. The Problem I have multiple bank accounts (current account, two credit cards). Each sends monthly PDF statements. To understand my spending, I needed to: ...

February 17, 2026

Automating Apple Health Analytics: A Weekly Report System

I’ve been tracking health metrics with my Apple Watch for years: blood pressure readings, workout sessions, sleep quality, heart rate variability, VO2 max, daily steps. The data is incredibly detailed — every run mapped, every night’s sleep scored, every day’s resting heart rate logged. The problem? Apple keeps this data locked in a walled garden. There’s no native way to export it or build custom reports. The Health app does suggest trends, but only on a 6-month time horizon — too slow to spot week-to-week changes or adjust training in real time. ...

February 10, 2026

Building a Smart RSS News Digest

I noticed that checking news from different sources had continuously been a drain on my time. Bouncing between The Economist, NYT, Guardian, a few YouTube channels — easily 30+ minutes a day just scanning headlines. I decided to optimize it by creating a daily news digest, focusing on the most important news. The Problem Most RSS readers treat all sources equally and sort by timestamp. This drowns important stories in a flood of recent fluff. ...

February 9, 2026