All projects
Case study

Daily Job Watcher

An automated job-search pipeline I built for myself and run every two hours. It checks 70 company job boards and careers sites, scores each posting against my background, and sends new matches to my phone, my inbox and a Google Sheet where I track applications.

Python, asyncio, httpx, GitHub Actions, Google Sheets API, pytest. The repository is private; I’m happy to walk through it.

The problem

Constraints

What I built

A scheduled Python job on GitHub Actions. Each run fetches every source in parallel, normalizes the postings, filters and scores them, compares them with what it has already seen, and sends only what is new.

Decisions and trade-offs

Results

What I'd do next