What it is
I made jobscout because general internship lists miss many infrastructure roles. It checks company career sites for DevOps, SRE and platform work. I get the best matches on my phone and review the rest in a dashboard.
How it works
A Kubernetes CronJob wakes every six hours and reads configured career boards. Provider clients fetch postings from six applicant tracking systems and the Simplify lists. Filters check role, level, location and term before scoring and collapsing duplicates. PostgreSQL keeps each posting and its score. The top unsent matches go to ntfy.
Flow
- CronJob wakes up
- Fetch career boards
- Filter and score roles
- Collapse duplicates
- Save postings in PostgreSQL
- Push top matches to ntfy
The problem
My deployed filter rules changed while the defaults in the public repo did not. Tests stayed green against rules production no longer used. I found the drift when a test written for production behavior failed locally. I wrote shared contract cases for the expected decisions. Both CI workflows now run those cases against their own config.
Screenshots
The live dashboard lists postings beside the selected role's overview and skills.