A full-stack data intelligence platform that scrapes, analyzes, and visualizes tech job market trends across Morocco. Built with Python, FastAPI, Next.js, and real-time automation.
# 🇲🇦 Morocco Tech Job Market Tracker
A full-stack data intelligence platform that scrapes, analyzes, and visualizes tech job market trends across Morocco. Built with Python, FastAPI, Next.js, and real-time automation. Features **AI-powered semantic search** using vector embeddings.
## 📋 Table of Contents
- Overview
- Features
- Architecture
- Tech Stack
- Project Structure
- Installation
- Usage
- API Endpoints
- Data Pipeline
- Configuration
- Troubleshooting
- Future Enhancements
## 🎯 Overview
This project transforms raw job postings into actionable market intelligence. It automatically:
1. **Scrapes** job listings from Indeed, LinkedIn, Google, and Bayt across major Moroccan cities
2. **Extracts** technical skills using NLP and regex pattern matching
3. **Generates** AI embeddings for intelligent semantic search
4. **Analyzes** trends to identify in-demand technologies
5. **Visualizes** insights through an interactive dashboard with AI-powered search
**Current Dataset**: 650+ unique job postings with skill extraction, trend analysis, and **fully operational AI-powered semantic search** using vector embeddings.
## ✨ Features
- 🔄 **Automated Scraping**: Runs every 6 hours via APScheduler (configurable)
- 🧠 **NLP Skill Extraction**: Regex-based pattern matching for 60+ tech skills
- 📊 **Real-time Dashboard**: Live charts showing top skills, city distribution, and job listings
- 📈 **Historical Trends**: Line chart tracking monthly velocity for top tech stacks
- 🔍 **Search & Filter**: Find jobs by company, role, or city
- 🧠 **AI-Powered Semantic Search**: Vector search finds jobs by meaning, not just keywords (e.g., "AI" finds "Machine Learning", "LLM", "Artificial Intelligence")
- 🎯 **Hybrid Search**: Combine semantic search with exact filters (e.g., find "AI jobs" in "Casablanca" requiring "Python")
- 🔗 **More Like This**: Find similar jobs based on any job posting using AI similarity matching
- 🔮 **Trend Forecasting**: Predict future skill demand usi …