π 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.
- πͺπ¬ 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.
- Ingestion (
ingest.py): Loads job descriptions, chunks them, creates embeddings using HuggingFace, and stores them in ChromaDB. - RAG Engine (
rag_engine.py): Retrieves relevant jobs based on the target role and uses Llama 3 (via Groq) to analyze the gap. - Frontend (
app.py): A clean Streamlit interface for user interaction.
- Python 3.11+
- Git
git clone https://github.com/moazmo/SkillGapMasr.git
cd SkillGapMasrpython -m venv .venv
# Windows
.\.venv\Scripts\Activate
# Linux/Mac
source .venv/bin/activatepip install -r requirements.txt- Copy the template:
cp .env.template .env
- Get a FREE API Key from Groq Console.
- Edit
.envand paste your key:GROQ_API_KEY=gsk_your_key_here...
First, you need to build the "Knowledge Base" of Egyptian job descriptions. We've included some samples in data/market_jobs.
python ingest.pyOutput: β
Ingestion Complete. Vector Store saved to chroma_db/
streamlit run app.pyThe application will open in your browser at http://localhost:8501.
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)
Contributions are welcome! If you want to add more Egyptian job descriptions:
- Fork the repo.
- Add
.txtfiles todata/market_jobs/. - Submit a Pull Request.
MIT License - free for all Egyptian students and developers.