Skip to content

moazmo/SkillGapMasr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ‡ͺπŸ‡¬ Skill-Gap Masr (Ψ³Ψ― فجوة Ψ§Ω„Ω…Ω‡Ψ§Ψ±Ψ§Ψͺ)

πŸš€ Try it now: skillgapmasr.streamlit.app

Bridge the gap between your skills and the Egyptian tech job market.

Skill-Gap Masr is a RAG (Retrieval-Augmented Generation) powered career advisor designed specifically for Egyptian Computer Science students and fresh graduates. It analyzes your CV against real job descriptions from top local tech companies (Instabug, Swvl, Vodafone IS, etc.) to identify skill gaps and provide actionable, localized learning recommendations.

Streamlit App Python LangChain Groq


πŸš€ Features

  • πŸ‡ͺπŸ‡¬ Egyptian Market Context: Tuned to understand local nuances like "Military Status," university preferences (Cairo Univ, Helwan, etc.), and local tech hubs.
  • πŸ“„ PDF & Text Support: Ingests job descriptions and CVs in common formats.
  • 🧠 RAG Architecture: Uses Retrieval-Augmented Generation to ground advice in actual market data, preventing generic hallucinations.
  • πŸ’Έ Zero-Cost Stack: Built entirely on free/open-source tiers:
    • LLM: Groq API (Llama 3.3 70B) - Free & Fast
    • Embeddings: HuggingFace (all-MiniLM-L6-v2) - Local Component
    • Vector DB: ChromaDB - Local Persistence
  • πŸ”Œ Extensible: Easy to add new job descriptions or switch LLM providers.

πŸ› οΈ Architecture

  1. Ingestion (ingest.py): Loads job descriptions, chunks them, creates embeddings using HuggingFace, and stores them in ChromaDB.
  2. RAG Engine (rag_engine.py): Retrieves relevant jobs based on the target role and uses Llama 3 (via Groq) to analyze the gap.
  3. Frontend (app.py): A clean Streamlit interface for user interaction.

πŸ“¦ Installation

Prerequisites

  • Python 3.11+
  • Git

1. Clone the Repository

git clone https://github.com/moazmo/SkillGapMasr.git
cd SkillGapMasr

2. Create a Virtual Environment

python -m venv .venv
# Windows
.\.venv\Scripts\Activate
# Linux/Mac
source .venv/bin/activate

3. Install Dependencies

pip install -r requirements.txt

4. Configure Environment Variables

  1. Copy the template:
    cp .env.template .env
  2. Get a FREE API Key from Groq Console.
  3. Edit .env and paste your key:
    GROQ_API_KEY=gsk_your_key_here...
    

πŸƒ Usage

1. Ingest Data

First, you need to build the "Knowledge Base" of Egyptian job descriptions. We've included some samples in data/market_jobs.

python ingest.py

Output: βœ… Ingestion Complete. Vector Store saved to chroma_db/

2. Run the App

streamlit run app.py

The application will open in your browser at http://localhost:8501.

πŸ“‚ Project Structure

SkillGapMasr/
β”œβ”€β”€ app.py              # Streamlit Frontend
β”œβ”€β”€ config.py           # Configuration settings
β”œβ”€β”€ ingest.py           # Data Ingestion Pipeline
β”œβ”€β”€ rag_engine.py       # Core RAG Logic
β”œβ”€β”€ requirements.txt    # Dependencies
β”œβ”€β”€ .env.template       # Environment variables template
β”œβ”€β”€ data/
β”‚   β”œβ”€β”€ market_jobs/    # Add .txt/.pdf Job Descriptions here
β”‚   └── student_cvs/    # Add your CV here (or paste in UI)
└── chroma_db/          # Local Vector Database (Generated)

🀝 Contributing

Contributions are welcome! If you want to add more Egyptian job descriptions:

  1. Fork the repo.
  2. Add .txt files to data/market_jobs/.
  3. Submit a Pull Request.

πŸ“„ License

MIT License - free for all Egyptian students and developers.

About

πŸ‡ͺπŸ‡¬ AI-powered career advisor for Egyptian tech talent. Analyzes skill gaps between your CV and local job descriptions (Instabug, Vodafone, Swvl) using RAG, LangChain, and Groq (Llama 3).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages