I got tired of losing good jobs to timing, so I built a pipeline that scores LinkedIn listings against my CV and emails me the best matches A developer built SnapplAI, a pipeline that scrapes fresh LinkedIn job listings, uses Google's Gemini to score each against the user's CV, and emails only the top matches. The tool runs locally, via Docker, or as a scheduled GitHub Actions cron, and is available under an MIT license. A job posting gets 200+ applicants in 48 hours. By the time LinkedIn's daily digest hits your inbox, the window is already closing. I kept finding great matches days after they were posted. So I built SnapplAI: it scrapes fresh LinkedIn listings, sends each one to Gemini to score it against your CV, and emails you only the top matches, before the crowd even sees them. How it works Four steps, one pandas DataFrame, no frameworks: Scrape — fresh listings from LinkedIn based on your filters Summarize — Gemini extracts structured fields as JSON Analyze — each listing scored against your CV chain-of-thought enforced: reasoning before judgment Deliver — top matches emailed to your inbox Runs locally, via Docker, or as a scheduled GitHub Actions cron. Full setup takes 5 minutes. Why no framework I wanted a clean data pipeline with LLM calls where they matter, not an agent framework. Python orchestrates, AI evaluates. Each Gemini call retries with exponential backoff and falls back through a model chain, so a throttled API doesn't crash the run. Try it MIT-licensed. Issues, PRs, and forks are welcome.