AI Job Hunter
Inspiration
Finding relevant internships and entry-level jobs can be overwhelming for students and fresh graduates. Most job boards contain thousands of listings, making it difficult to identify opportunities that truly match a candidate's skills and experience.
I wanted to build a tool that simplifies this process. Instead of manually searching through numerous job postings, users can upload their resume and instantly receive job recommendations ranked according to their profile. The goal was to create a practical application that combines automation, natural language processing, and machine learning to help job seekers focus on opportunities that are most relevant to them.
What It Does
AI Job Hunter analyzes a user's resume and matches it with real job postings.
The application:
- Extracts text from uploaded PDF resumes.
- Detects technical skills from the resume.
- Fetches job listings from online sources.
- Cleans and processes job descriptions.
- Uses machine learning to compare the resume with job descriptions.
- Ranks jobs based on similarity scores.
- Displays the most relevant opportunities through an interactive web interface.
This allows users to quickly discover jobs that align with their skills and experience.
How We Built It
The project was developed using Python and several open-source libraries.
Resume Processing
- pdfplumber was used to extract text from PDF resumes.
- A custom skill extraction system identifies relevant technical skills from the resume.
Job Collection
- Job data was fetched from public job APIs.
HTML content and unnecessary formatting were removed using:
- BeautifulSoup
- Regular Expressions
- ftfy
Machine Learning
To measure how well a resume matches a job description, the project uses:
- Sentence Transformers
- Cosine Similarity
- Scikit-learn
The workflow is:
Resume
↓
Embedding Generation
↓
Job Description Embeddings
↓
Cosine Similarity
↓
Ranked Job Recommendations
User Interface
The web interface was built using Streamlit, allowing users to:
- Upload resumes
- View extracted skills
- See top job matches
- Access application links directly
Challenges We Ran Into
Resume Parsing
Resumes come in many formats, making text extraction inconsistent. Different layouts, columns, and formatting styles required additional cleaning and preprocessing.
Job Data Quality
Job descriptions often contained HTML tags, special characters, and unnecessary content. Building a reliable cleaning pipeline was essential before performing any matching.
Matching Accuracy
Simply matching keywords was not enough because two job descriptions may use different wording for similar skills. We explored semantic similarity techniques to better understand the context of both resumes and job postings.
Deployment Issues
Deploying machine learning models in a cloud environment introduced dependency and package management challenges. Ensuring all required libraries were correctly installed and configured was an important part of the development process.
What We Learned
Through this project, we gained experience with:
- Natural Language Processing (NLP)
- Resume parsing
- Semantic text similarity
- Machine learning workflows
- Streamlit application development
- API integration
- Data cleaning and preprocessing
- Cloud deployment and debugging
Most importantly, we learned how machine learning can be applied to solve a real-world problem that many students and job seekers face every day.
Future Improvements
Future versions of AI Job Hunter could include:
- Personalized resume improvement suggestions
- Skill gap analysis
- Interview preparation recommendations
- Multiple job source integration
- Automatic job alerts
- Application tracking dashboard
- Advanced recommendation models
The long-term vision is to create a complete AI-powered career assistant that helps users discover opportunities, improve their profiles, and accelerate their job search journey.
Built With
- api
- beautiful-soup
- learning
- machine
- natural-language-processing
- pdfplumber
- python
- remoteok
- scikit-learn
- sentence
- spacy
- streamlit
- transformers
Log in or sign up for Devpost to join the conversation.