Skip to content

ParthAhuja14/tech-stack-recommender

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧭 Tech Stack Recommender — Intelligent Career Role Recommendation Engine

Python CLI License Tests

A Python-based recommendation engine that analyzes a user's technical skills and recommends the most suitable software engineering roles using a transparent skill-matching algorithm. Designed as a lightweight, explainable career recommendation system.


📖 Table of Contents

  • Overview
  • Problem Statement
  • Architecture
  • Project Structure
  • Installation
  • Usage
  • Example Output
  • Recommendation Methodology
  • CLI Arguments
  • Testing
  • Tech Stack
  • Future Improvements
  • License

📌 Overview

Choosing the right software engineering career path can be difficult when multiple roles share overlapping skills.

This project simulates an intelligent career recommendation engine. Instead of relying on hard-coded career suggestions, it compares a user's skills against a dataset of job roles, calculates a percentage match for each role, ranks the results, and explains why each recommendation was made.

The application supports interactive mode, command-line arguments, and a demonstration mode for quickly showcasing the recommendation engine.


🎯 Problem Statement

Design a lightweight recommendation engine that:

  • Accepts a user's technical skills
  • Compares them with predefined job-role requirements
  • Calculates a matching score
  • Returns the most suitable career paths ranked by relevance

🏗 Architecture

User Skills
      │
      ▼
Input Validation
      │
      ▼
Skill Normalization
      │
      ▼
Load Job Dataset
      │
      ▼
Skill Matching Engine
      │
      ▼
Percentage Match Calculation
      │
      ▼
Ranking (Top-K)
      │
      ▼
Formatted CLI Output

🗂 Project Structure

tech-stack-recommender/
├── data/
│   └── raw_skills.csv
├── src/
│   └── recommender.py
├── tests/
│   └── test_recommender.py
├── main.py
├── README.md
├── requirements.txt
├── LICENSE
└── .gitignore

💻 Installation

git clone https://github.com/<your-username>/tech-stack-recommender.git
cd tech-stack-recommender

python -m venv venv

# Windows
venv\Scripts\activate

# Linux / macOS
source venv/bin/activate

pip install -r requirements.txt

🚀 Usage

Interactive mode

python main.py

CLI mode

python main.py --skills "Python,Docker,AWS" --top 3

Demo mode

python main.py --demo

📊 Example Output

Input Skills:
Python, Cloud Computing, Automation

1. DevOps Engineer
Match: 87%

Required Skills:
Python
Cloud Computing
CI/CD
Automation

Description:
Builds and maintains deployment pipelines.

🧠 Recommendation Methodology

Each job role is represented as a collection of required skills.

The recommendation score is computed as:

Match % =
(Matching Skills ÷ Required Skills) × 100

The engine:

  1. Loads the dataset.
  2. Normalizes user input.
  3. Compares every role.
  4. Calculates percentage overlap.
  5. Sorts results.
  6. Returns the Top-K recommendations.

This transparent approach makes every recommendation explainable rather than a black-box prediction.


⚙ CLI Arguments

Argument Description
--skills Comma-separated list of skills
--top Number of recommendations
--demo Run predefined demonstrations

🧪 Testing

Run unit tests:

python -m unittest discover tests

Tests validate:

  • Recommendation scoring
  • Ranking logic
  • Input handling
  • Result formatting

🛠 Tech Stack

Category Technology
Language Python 3.8+
Interface Command Line
Dataset CSV
Testing unittest
Dependencies Python Standard Library

🔮 Future Improvements

  • Semantic skill matching using Sentence Transformers
  • Resume parsing
  • Skill-gap analysis
  • Learning roadmap generation
  • FastAPI backend
  • Streamlit web interface
  • LLM-powered career recommendations
  • Recommendation explanations using AI

📄 License

This project is licensed under the MIT License. See the LICENSE file for details.

About

Python-based recommendation engine that matches user skills against software engineering roles, ranks recommendations by percentage match, and provides explainable career suggestions.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages