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.
- Overview
- Problem Statement
- Architecture
- Project Structure
- Installation
- Usage
- Example Output
- Recommendation Methodology
- CLI Arguments
- Testing
- Tech Stack
- Future Improvements
- License
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.
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
User Skills
│
▼
Input Validation
│
▼
Skill Normalization
│
▼
Load Job Dataset
│
▼
Skill Matching Engine
│
▼
Percentage Match Calculation
│
▼
Ranking (Top-K)
│
▼
Formatted CLI Output
tech-stack-recommender/
├── data/
│ └── raw_skills.csv
├── src/
│ └── recommender.py
├── tests/
│ └── test_recommender.py
├── main.py
├── README.md
├── requirements.txt
├── LICENSE
└── .gitignore
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.txtInteractive mode
python main.pyCLI mode
python main.py --skills "Python,Docker,AWS" --top 3Demo mode
python main.py --demoInput Skills:
Python, Cloud Computing, Automation
1. DevOps Engineer
Match: 87%
Required Skills:
Python
Cloud Computing
CI/CD
Automation
Description:
Builds and maintains deployment pipelines.
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:
- Loads the dataset.
- Normalizes user input.
- Compares every role.
- Calculates percentage overlap.
- Sorts results.
- Returns the Top-K recommendations.
This transparent approach makes every recommendation explainable rather than a black-box prediction.
| Argument | Description |
|---|---|
--skills |
Comma-separated list of skills |
--top |
Number of recommendations |
--demo |
Run predefined demonstrations |
Run unit tests:
python -m unittest discover testsTests validate:
- Recommendation scoring
- Ranking logic
- Input handling
- Result formatting
| Category | Technology |
|---|---|
| Language | Python 3.8+ |
| Interface | Command Line |
| Dataset | CSV |
| Testing | unittest |
| Dependencies | Python Standard Library |
- 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
This project is licensed under the MIT License. See the LICENSE file for details.