← notes

Edge-triggered alerting for a registration window that closes in minutes

Apr 11, 2026

CIPLE A2 registration in Portugal fills within minutes of opening, with no notification, no waitlist and no published time. Get told the moment it opens.

One Python script on cron every five minutes, hitting the CAPLE centers API and checking whether the centers array is non-empty. The mechanism that makes it usable rather than annoying is edge triggering: it persists last known state per target and alerts only on the closed-to-open transition. Level checking would send twelve identical messages for a window that stays open an hour, and I would learn to ignore the bot exactly when it matters.

A failed poll is not “closed”. Treating it as closed means the next successful poll looks like an opening and fires a false alert, so a failure leaves the stored state untouched.

Five minutes against a window that closes in minutes is uncomfortable, and polling faster is rude to a university’s server. The compensation is in the payload: exam details, center list, and pre-filled registration data ready to paste into the CAPLE form, because the binding constraint is how fast a human can act.

Ran on a Hetzner VPS.