Inspiration

Finding the right job can be time-consuming, especially for students and fresh graduates. I wanted to build something that could reduce the time spent reading job descriptions and checking whether each opportunity matches someone's skills and experience.

What it does

Job Hunter AI helps users discover job opportunities that fit their background.

Users upload their CV as a PDF, and AI extracts their skills, education, experience, and projects. They can review and correct this information before selecting their job preferences.

The application then searches supported job sources and compares job requirements with the user's profile. Instead of showing unexplained matching scores, it highlights matching skills, missing requirements, and eligibility information.

When eligibility cannot be confirmed, the application clearly marks it as unknown.

How I built it

I developed the application using Python and Streamlit.

I used PyMuPDF to extract text from PDF resumes and Qwen through Hugging Face for structured AI analysis. Pydantic helps validate the extracted information.

For job discovery, I integrated supported sources such as Remotive and Greenhouse.

The application separates AI-based analysis from rule-based validation to make the results more understandable and reliable.

Challenges I ran into

One of the biggest challenges was making CV extraction accurate and reliable. Some CVs contain many projects and complex sections, while AI inference can sometimes be slow.

Another challenge was avoiding misleading job recommendations. A candidate might have relevant technical skills without meeting a job's location or work authorization requirements.

I addressed this by separating skill matching from eligibility and showing uncertainty when evidence is missing.

Accomplishments that I'm proud of

I'm proud of building a complete workflow, from uploading a CV to receiving explainable job recommendations.

The application doesn't simply recommend jobs. It explains the evidence behind each result and allows users to inspect the original job posting.

I also implemented automated tests, privacy-related safeguards, and a demonstration mode using clearly labeled historical job listings.

What I learned

This project helped me understand the importance of planning before implementation.

I learned how to break an AI application into smaller features, define requirements, test each component, and handle limitations in AI-generated outputs.

I also learned that useful AI applications should communicate uncertainty rather than presenting every prediction as a fact.

What's next for Job Hunter AI

In the future, I would like to improve the speed and accuracy of CV analysis, expand the supported job sources, and improve job ranking based on user preferences.

I also want to explore deployment options so users can access Job Hunter AI without running it locally.

Built With

  • greenhouse-api
  • hugging-face
  • pydantic
  • pymupdf
  • pytest
  • python
  • qwen
  • remotive-api
  • streamlit
Share this project:

Updates

Submission history