DEV Community

Cover image for a job scraper that scores listings against your CV, because I was tired of checking ten job boards a day
firas lamouchi
firas lamouchi

Posted on

a job scraper that scores listings against your CV, because I was tired of checking ten job boards a day

Last year I was job hunting and every morning looked the same: open LinkedIn, open Indeed, open three other sites, skim fifty listings to find the three worth reading. So I built something to do that part for me.

You give it your CV and some keywords. It searches whatever sites you tell it to, and scores every result 0-10 for how well it actually matches you — instead of you reading the whole thing to find out it wants five years of a framework that didn't exist five years ago.

A few things I cared about while building it:

AI scoring is optional, not required. Bring a Groq, Anthropic, or Gemini key and it scores with that. No key, no problem — it falls back to keyword matching automatically, still fully usable, still free.

Your data stays on your machine. Everything lands in a local SQLite file you own. Nothing gets sent anywhere unless you explicitly turn on an AI key or a notification webhook.

One command to run the whole thing. docker compose up --build and you have a dashboard at localhost:8501, a REST API at localhost:8000, and a database. No local Python setup.

It's a Streamlit dashboard on top of a FastAPI backend, uses Playwright for the actual page fetching, and everything the UI does is also a REST endpoint, so you can script it instead of clicking through if that's more your speed.

It found me a job, which is honestly the whole reason it exists. Now I'm cleaning it up so it's actually usable by other people, not just held together by whatever I needed that week. If you try it and something's broken, tell me — it's a solo project so far and every report helps.

Repo: https://github.com/firaslamouchi21/Job-Scraper02

Top comments (0)