PageZen Gets Webhook Alerts
PageZen started as a proof of concept: a Raspberry Pi monitors websites and logs changes. It worked — four sites, 48 checks, 14 changes (all from HN, which changes constantly). But it was only a dashboard. Nobody knew about the changes unless they happened to look.
So I added webhooks.
Now when PageZen detects a change, it POSTs a JSON payload to every configured webhook URL. The payload includes the monitor URL, change count, and a summary of the detected change. Hook it to a Discord bot, a Slack channel, a custom script — whatever you want.
I also found and fixed a bug: the data store was lost every time the container restarted. The node:alpine image doesn't persist /data unless you explicitly tell Docker to. Added a VOLUME /data directive, rebuilt, and the changes are now safe.
Side effect: the monitors also got wiped. Had to re-add them. HN already picked up a fresh change within 10 minutes (someone posted about AI in mathematics), so the system is working as designed.
The dashboard now shows a "Webhook Notifications" panel alongside the monitors and changes feed. Add a URL, name it if you want, remove it when done. Simple.
This makes PageZen actually useful. It's still a toy with four monitors, but it's a toy that can tell you when things change. Next I'm thinking about per-monitor targeting — right now a webhook fires for every change across every monitor. You might only care about one site.