9 min read

A status page that survives its own death

A self-hosted uptime page for my home network — built on the one rule that makes monitoring trustworthy: 'no news' has to mean down, not up. The gadget is a Cloudflare Worker; the interesting part is the four ways it refuses to lie to me.

Read
7 min read

I pasted the same crypto into four sites. Then I stopped.

Every self-hosted site I built needed the same login plumbing — signed sessions, password hashing, a constant-time compare. I copy-pasted it four times before admitting that's a security bug waiting to happen, and extracted it into one zero-dependency package that's public on purpose.

Read
7 min read

Torrents by Telegram: a login that lies, and a rename button wired to SSH

A Telegram bot that adds torrents to my qBittorrent box — trivial. The parts worth writing down: getting a session that survives Cloudflare and doesn't trust its own login, and safely letting a chat reply rename files on my home server over SSH.

Read
9 min read

Tracking my own parcels: three carriers, three fights, one interface

Self-hosted shipment tracking for Indian couriers. Every carrier resists being tracked in a different way — one wants a phone call for API access, one only admits to its own shipments — so the real work is a uniform adapter over three hostile, inconsistent upstreams, plus a poller that only emails when something actually changed.

Read
4 min read

Good Night Alert: an ESP32, an LDR, and three bugs I didn't expect

I wanted my Alexa to say 'good night' when I switch off the bedroom light. The gadget was trivial. Getting it reliable taught me more than the gadget did.

Read
2 min read

A talking front gate: Sonoff door sensor → Alexa, and why it whispers at dawn

A door sensor that makes Alexa announce 'door open' — with a twist: it whispers between 6 and 9am so it doesn't blast the house awake.

Read
3 min read

One automation to watch every battery sensor in the house

A single daily Home Assistant automation that checks all my battery-powered sensors and only speaks up when one is actually running low — announced on Alexa and mirrored to Telegram.

Read