DEV Community

Cover image for ResumeTuner
Anant Singh
Anant Singh

Posted on

ResumeTuner

What I Built
I built ResumeTuner for my roommate, as it is our placement season going on and I have been placed already so instead of sitting and watching movies I decided why not build something productive and helpful for your friends.
During placements, one of the repetitive parts of applying for jobs is going through every new job description and comparing it with your resume. A candidate has to check which skills they already have, which requirements are only partly covered, which requirements are completely missing, and what they should prepare before applying or appearing for an interview.
When doing this for many companies, the process becomes time-consuming. It is also easy to overlook a requirement or assume that two similar technologies are the same.
ResumeTuner is a small local AI tool that reduces this manual work. The user provides a resume PDF and a job description PDF, and ResumeTuner compares the two and produces an analysis.
The analysis is divided into five parts:

  • Similarity Matches: requirements from the job description that have clear supporting evidence in the resume.
  • Differences and Gaps: requirements where the resume has related experience, but does not fully satisfy what the job description asks for.
  • Missing Requirements: important requirements for which there is no meaningful evidence in the resume.
  • Preparation Priorities: topics the candidate should focus on before applying or interviewing, with HIGH, MEDIUM, and LOW priorities.
  • Overall Assessment: a short summary of the candidate's strengths, major gaps, and current readiness for the role. The goal is not to tell someone whether they will get the job. It is to make the comparison process faster and help them understand where they already fit and where they need to prepare. For my roommate, this means that instead of manually comparing every new job description with his resume, he can use the same workflow for each role and quickly understand what needs attention.

GitHub - ResumeTuner

Tools Used

  • Python: Handles the application logic and connects all the components.
  • PyMuPDF: Extracts text from the resume and job description PDFs.
  • Ollama: Runs the AI model locally without requiring a cloud API.
  • Gemma 3:4B: Compares the resume with the job description and produces the structured analysis.
  • Pydantic: Validates the AI-generated JSON before it is used by the application.
  • Streamlit: Presents the analysis in a readable browser interface.

Why Does Open Innovation Matter?
Open innovation is what made the main idea behind ResumeTuner possible.
A resume is personal information. For a tool like this, sending the resume and job description to a remote AI service is not always desirable. I wanted the core analysis to be something that could run on the user's own computer.
Using Gemma 3:4B through Ollama made that possible.
The AI part of ResumeTuner is not hidden behind a closed API. The model runs locally, the application communicates with it through a local inference layer, and the rest of the pipeline is built with openly available tools.
This also makes the project easier to experiment with. The model can be changed without redesigning the entire application, and the surrounding Python code remains independent of a particular cloud provider.
There is also no need to maintain an API key or pay for every resume analysis. The main requirement is having enough local hardware to run the selected model.
For this particular problem, that matters because the project is about helping someone with a personal task, not building a large cloud service.
Open tools allowed me to take a simple problem from my own surroundings, connect a local AI model to it, and build a useful workflow without needing access to a proprietary AI platform.

Top comments (0)