Skip to content

kartik0905/candidate-screening-langGraph

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🧑‍💼 Candidate Screening Workflow with LangGraph + LangSmith Tracing

This project is an AI-powered candidate screening system built with LangGraph, LangChain, LangSmith, and OpenAI.
It automatically evaluates job applications, categorizes candidates by experience level, checks for a skill match, and then decides whether to:

  • ✅ Shortlist for HR interview
  • 📈 Escalate to a recruiter
  • ❌ Send a rejection email

✨ Features

  • Integrated LangSmith tracing – monitor, debug, and visualize workflow execution
  • State machine workflow with LangGraph
  • Experience level classification (Entry-level | Mid-level | Senior-level)
  • Skillset assessment (Match | No Match)
  • Dynamic routing (HR → Recruiter → Rejection)
  • Extensible design – easily adapt prompts for other job roles

🛠 Tech Stack


📂 Folder Structure

.
├── main.py   # Main workflow
├── .env.example              # Stores API keys (ignored in git)
├── requirements.txt         # Dependencies
└── README.md                # Project documentation
Image

⚙️ Setup Instructions

  1. Clone this repo

    git clone https://github.com/<your-username>/candidate-screening.git
    cd candidate-screening
  2. Create virtual environment

    python -m venv venv
    source venv/bin/activate  # Mac/Linux
    venv\Scripts\activate     # Windows
  3. Install dependencies

    pip install -r requirements.txt
  4. Add API key
    Create a .env file in the project root:

    OPENAI_API_KEY=your_api_key_here
    

▶️ Usage

Run the workflow with a sample candidate application:

python main.py

Example Output

Categorizing the experience level of the candidate
Assessing the skillset of candidate :
Skill Match : No Match
Sending Rejection Email


Computed Results :
Application: I have 10 years of experience in software engineering with expertise in C#
Experience Level: Senior-level
Skill Match: No Match
Response: Candidate has been escalated to the recruiter.

🔍 LangSmith Integration

LangSmith tracing is enabled in this project to:

  • Monitor each step of the LangGraph workflow
  • Debug model inputs/outputs
  • Visualize execution traces for better observability

🔮 Future Improvements

  • ✅ Structured output parsing (guarantee clean values)
  • ✅ Configurable job roles instead of hardcoding "Python Developer"
  • ✅ Error handling & validation
  • ✅ REST API / frontend integration

🤝 Contributing

Feel free to fork this repo and submit PRs with improvements 🚀


📜 License

MIT License © 2025 [Kartik Garg]

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages