SkillGraph is an enterprise-grade platform designed to map workforce skills, build dynamic career paths, and predict skill transitions using Graph Neural Networks (GNNs). By combining PostgreSQL (relational user schemas), Neo4j (graph-structured skill ontologies), and advanced deep learning, SkillGraph provides semantic search, career paths, and interactive graph exploration.
SkillGraph is built as a modular, high-performance system leveraging a heterogeneous graph structure. The data flow moves seamlessly from resume ingestion to GNN-fused career recommendation:
- Resume Ingestion: A user uploads a PDF resume. The backend extracts the layout, parses skills heuristically, and matches them dynamically against the Neo4j ontology.
- Skill DNA Generation: The user's skills are mapped against the required skills of all standard occupations using Graph and DB lookups.
- GNN Embeddings: A Heterogeneous Graph Transformer (HGT) / Relational Graph Attention Network (RGAT) matches users to careers by calculating the similarity of their fused structural-semantic embeddings.
- Career Twin Simulation: If a user simulates a transition, the Neo4j database computes the shortest path between occupations, and the recommender predicts skill gaps and pulls appropriate learning resources.
Manage your career embeddings, upload resumes, and explore skill structures. The glassmorphic interface displays your current metrics, parsed skills tags, and syncing status with the backend GNN engine.
Visualize your technical competencies and structural overlaps. The dynamic radar/spider chart maps your personalized workforce intelligence signature across diverse domains.
Compare your current skillsets against target occupation models. Identify exact skill gaps and retrieve recommended learning roadmaps and course enrollments.
Predict multi-step career transitions and calculate your career transition momentum score and velocity indicators using GNN link predictions.
Explore skills and job ontologies visually using a dynamic, interactive force-directed knowledge graph built with Cytoscape.js.
- Framework: Next.js 13+ (App Router)
- Styling: Tailwind CSS & Framer Motion (micro-animations)
- Visualizations: Cytoscape.js (Interactive Ontology Graphs), Recharts (Radar charts & analytics)
- Language: TypeScript
- API Framework: FastAPI
- Databases: PostgreSQL (Relational) & Neo4j (Graph Database)
- Cache & Queue: Redis & Celery
- AI/ML Core: PyTorch Geometric (GNN), Sentence-Transformers (Semantic Embeddings), FAISS (Fast Vector Search)
- Language: Python 3.10+
βββ backend/
β βββ app/
β β βββ ai/ # GNN architecture, embedders, FAISS vector search
β β βββ api/ # REST API endpoints (auth, assistant, skills, etc.)
β β βββ core/ # App configuration, security settings
β β βββ db/ # DB connections, Neo4j schema & PostgreSQL migrations
β β βββ models/ # Database tables/ORM models
β β βββ schemas/ # Pydantic validation schemas
β β βββ services/ # Business logic & CV parsers
β β βββ workers/ # Celery asynchronous task queues
β βββ scripts/ # Seeding, importing, and dataset helper scripts
β βββ tests/ # Unit & integration testing suites
βββ frontend/
β βββ src/
β β βββ app/ # Next.js routes (Dashboard, Graph Explorer, DNA)
β β βββ components/ # Charting, graph rendering, and UI elements
β β βββ lib/ # API clients
βββ infrastructure/
β βββ docker/ # Docker Compose configurations
β βββ kubernetes/ # Kubernetes deployment files
βββ assets/ # Architecture diagrams and UI screenshots
You can run SkillGraph using Docker (recommended) or set up the microservices locally.
To spin up all servicesβincluding database engines (Postgres, Neo4j, Redis), backend worker instances, and the web frontendβnavigate to the infrastructure directory and start docker-compose:
cd infrastructure/docker
docker-compose up --buildAccess the application components:
- Frontend:
http://localhost:3000 - Backend API:
http://localhost:8000/docs(Swagger UI) - Neo4j Console:
http://localhost:7474(Credentials:neo4j/password)
Ensure you have local instances of PostgreSQL, Redis, and Neo4j running. If you want to use Docker just for these dependencies, run:
cd infrastructure/docker
docker-compose up postgres redis neo4j -dCreate a .env file in the backend/ directory:
cp backend/.env.example backend/.env(Update .env configuration details, database credentials, and model paths if necessary).
- Navigate to the
backend/directory:cd backend - Create and activate a virtual environment:
python -m venv venv # Windows: .\venv\Scripts\activate # macOS/Linux: source venv/bin/activate
- Install dependencies:
pip install -r requirements.txt
- Seed the database & Neo4j graph:
python scripts/seed_data.py
- Run the FastAPI development server:
uvicorn app.main:app --reload
- (Optional) Start the Celery background worker:
celery -A app.workers.tasks.celery_app worker --loglevel=info
- Navigate to the
frontend/directory:cd frontend - Install packages:
npm install
- Run the Next.js development server:
npm run dev
- Open
http://localhost:3000in your browser.
Run backend tests with pytest:
cd backend
pytest




