← projects

local resume screener

shipped

a simple python tool that screens resumes using a local model. runs on your machine, no API costs, no data leaving your device. built it for a hiring workflow, figured others might find it useful. nothing fancy — just works.

open sourcetool
mar 2026 · github ↗

what it does

screens resumes against a job description using a local LLM. no API key, no upload, no data leaving your laptop. point it at a folder of PDFs, give it a JD, get back a ranked list with reasoning.

why local

most resume screeners send everything to a third-party API. that’s fine for a lot of things, but candidate CVs are personal data — and a small hiring team shouldn’t need legal review just to filter applications. running the model locally side-steps the whole conversation.

stack

the screener prompt is ~30 lines. most of the code is parsing PDFs and printing tables.

how to use it

git clone https://github.com/varsani-akshit/local-resume-screener
cd local-resume-screener
./screen --jd job.txt --resumes ./pdfs/

it’ll churn through a folder of 50 CVs in a few minutes on an M-series laptop.

what i learned

most of the value isn’t in the model — it’s in the prompt and how you structure the output. the model is happy to hallucinate “5 years experience” when the resume says nothing of the kind. forcing it to quote the exact span of the resume that supports each claim killed almost all of that.

← back to projects