Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

title Resume_modifier_agent
app_file main.py
sdk gradio
sdk_version 4.44.1

Agentic Resume Builder with LangGraph

This project leverages LangGraph to build an agentic pipeline that automatically parses job descriptions, selects relevant resume content, evaluates it via ATS, refines it if needed, and generates a LaTeX resume.

This system directly modifies my Overleaf project (as this is for my personal use). [If you want to use this please connect your Overleaf project repo to this and update your .env with OpenAI keys, Overleaf project ID and auth keys.]


Overview

The system uses multiple LangGraph agents (nodes) to perform specialized tasks. The workflow is automated, adaptive, and loops until an ATS-optimized resume is produced.

LangGraph Nodes & Roles

Node (Agent) Role / Function
JD Parser Parses job descriptions (jd.txt) and extracts keywords to structure the state.
Resume Selector Picks relevant experiences and projects from resume.json based on JD keywords.
Recruiter Evaluator Scores the resume in an ATS-like manner; stores ats_score in state.
Refiner Refines content, keywords, and formatting when ATS score < threshold; loops back to ATS Evaluator.
LaTeX Updater Generates the LaTeX resume (main.tex) from the final state and optionally pushes to Overleaf.

Workflow

  1. Entry Point: JD Parser

    • Input: jd.txt
    • Output: structured keywords and JD data in state.
  2. Resume Selection: Resume Selector

    • Input: state from JD Parser + resume.json
    • Output: selected experiences/projects in state.
  3. Recruiter Evaluation: ATS Evaluator

    • Computes ATS score (ats_score) for the current resume state.
  4. Conditional Decision Logic:

    • If ats_score < 70 and retries < MAX_RETRIESRefiner
    • Else → LaTeX Updater
  5. Refinement Loop: Refiner → ATS Evaluator

    • Refiner improves resume content
    • ATS Evaluator rescans
    • Loops until score ≥ 70 or max retries reached
  6. Final Node: LaTeX Updater

    • Updates LaTeX template (main.tex) with finalized resume
    • Optionally pushes to Overleaf via Git

Workflow Diagram

graph TD
    Start([Start]) --> A[JD Parser]
    A --> B[Resume Selector]
    B --> C[ATS Evaluator]
    C -->|ATS score < 70 & retries < MAX| D[Refiner]
    C -->|ATS score >= 70 or retries >= MAX| E[LaTeX Updater]
    D --> C
    E --> End([End])

Loading

About

Resume Tailored to JD: (Supposed to make my life easier during the next semester) Hosted on HF:)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages