Job Discovery & Matching Automation is a Python-based workflow for turning a broad job search into relevant, ready-to-review opportunities. It gathers listings from multiple public sources, normalizes the results, and matches each role against configurable search criteria such as domain, location, and remote-work preference.
What it does
- Multi-source discovery — runs searches across supported job boards using role and location criteria.
- Preference-aware matching — filters and ranks opportunities using configurable domain keywords, locations, and remote-work signals.
- Structured outputs — saves normalized listings and matches to CSV so results can be reviewed, audited, or reused by downstream tools.
- Resilient runs — records checkpoints and failed work so interrupted runs can resume without starting over.
- Digest preparation — formats matched roles into reusable HTML email digests; delivery settings remain local and are never included in the project.
Engineering highlights
The workflow combines asynchronous orchestration with browser-based collection, batching work to avoid overwhelming individual sources. It keeps data collection, matching, recovery, and message generation as separate modules, making each stage easier to improve independently.
Stack
Python, asyncio, Selenium, pandas, Google Sheets API, Jinja2, SMTP, and CSV-based pipelines.
Privacy
This portfolio entry intentionally excludes organization names, recipient information, credentials, API keys, source data, generated results, and deployment configuration. The project description covers the reusable system design only.