Skip to content

✨ Feature Enhancement: Job Recommendation System Based on User Skills #45

@ZarrarPeshimam

Description

@ZarrarPeshimam

πŸ” Have You Searched Existing Issues?

  • I have searched the existing issues to avoid duplicates

πŸ’‘ Problem Description

Currently, JobMiner can scrape jobs from individual companies, but users cannot get personalized job recommendations across multiple companies based on their skills.
This makes it harder to quickly find relevant opportunities without manually browsing each company’s jobs.


βœ… Proposed Solution

Introduce a Job Recommendation System using NLP to provide skill-based job suggestions across multiple companies:

  1. Skill Input

    • Users provide skills via CLI (--skills) or file (--skills-file).
  2. Role Prediction

    • NLP maps user skills to the most relevant job role(s) (e.g., "python, pandas, sql" β†’ "Data Scientist").
  3. Targeted Multi-Company Scraping

    • Automatically run scrapers for predicted roles across selected companies.
    • Collect job listings into structured JSON/CSV files.
  4. Job Ranking (TF-IDF + Cosine Similarity)

    • Vectorize user skills and job descriptions.
    • Compute similarity scores.
    • Rank jobs by relevance and display top N recommendations.
  5. Output

    • CLI display with title, company, location, similarity score.
    • Optional export to recommended_jobs.json or recommended_jobs.csv.

Example CLI Usage:

python jobminer_cli.py recommend --skills "python, machine learning, sql"
python jobminer_cli.py recommend --skills-file skills.txt

Sample Output:

Top 5 Recommended Jobs:
1️⃣ Data Analyst β€” Microsoft (Score: 0.91)
2️⃣ ML Engineer β€” Amazon (Score: 0.87)
3️⃣ Python Developer β€” Infosys (Score: 0.82)
...

πŸ”„ Alternatives Considered

  • Using only existing scraped jobs (requires user to scrape manually first).
  • Scraping all jobs blindly and then ranking β€” inefficient, slower, unnecessary.

The proposed method balances efficiency and relevance by scraping only the roles predicted from the user’s skills.


πŸ“˜ Additional Context

  • Tech stack: scikit-learn, pandas, click.
  • The feature is Hacktoberfest-friendly and encourages contributions in NLP, scraping, and CLI tools.
  • Optional enhancement: allow multiple companies to be scraped in one go with --all-companies flag.

πŸ™Œ Contributor Checklist

  • I have checked for similar feature requests
  • I agree to follow this project's Code of Conduct
  • I am a Hacktoberfest contributor
  • I want to work on this issue

@beingvirus, I would love to contribute. Please consider assigning this issue to me as part of hacktober.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions