A monitor that spots new listings and never repeats itself
Checks a source on a schedule, alerts only on new matches, and recovers from connection failures.
A working sample we built to show how we would solve a problem like this. It is not a delivered project.
In plain terms
This monitor checks a source of listings on a schedule and keeps only the ones that match your rules. On a real public job board, its first run found 11 new matches from 18 listings. A second run straight after correctly reported none, because it remembered what it had already shown.
- Remembers what it has seen between checks.
- Filters by keywords you set in a settings file.
- Retries with longer waits when the connection fails, then logs the error.
- Shows a status summary on demand.
What this does not claim: It was tried on one open public job board, not on any private portal. Pointing it at another source means replacing one part of the code.
Technical details
monitor.py polls a public JSON endpoint (fetch_listings is the only source-specific function), filters by configured keywords/locations, dedups against state.db, and logs new matches. Run 1: 18 listings, 11 matched, 11 stored. Run 2: 0 new. Retry/backoff: 2 attempts with 1 s then 2 s waits against a failing endpoint (HTTP 403), then a clean logged failure. Modes: single check, continuous loop at the configured interval, dashboard-only. Email alerts are wired but disabled by default. sample_run_log.txt holds the real output.
- Python
- SQLite
- YAML config
- logging
Need something like this?
Tell us the problem in your own words. We reply with a plain, practical plan.
Discuss a project like this