How gargi-09/nextnode works
Nextnode turns resume and job-description text into graph-backed career analysis: LLM extraction feeds canonical skill resolution and Neo4j, then symbolic reasoning produces fit scores, skill gaps, roadmaps, pivot guidance, and explanations for the web UI. The README also documents direct user/job management, ontology browsing, and graph-health/quota visibility. Some backend and frontend connections are supported by the SOURCE INDEX or README rather than sampled implementation excerpts; those links are cited accordingly.
Main entry points: ingestion.py Text ingestion · App.jsx App navigation · analysis.py Analysis service · client.js API client
Components 28
Web application
- App navigation
frontend/src/App.jsx - Analysis views
frontend/src/pages/Analyze.jsx - User and job views
frontend/src/pages/Users.jsx - Ontology view
frontend/src/pages/Ontology.jsx - System status view
frontend/src/pages/System.jsx - API client
frontend/src/api/client.js
API and services
- Analysis API
app/api/routes.py - User and job API
app/api/users.py - Ontology API
app/api/ontology.py - Text ingestion
app/services/ingestion.py - Analysis service
app/services/analysis.py - Pivot service
app/services/pivot.py - User and job services
app/services/users.py
Extraction and graph
- Skill extraction
app/extraction/extractor.py - Gemini client
app/extraction/llm.py - Quota protection
app/extraction/quota.py - Skill ontology
app/graph/ontology.py - Skill normalization
app/graph/normalize.py - Graph writer
app/graph/writer.py - Graph catalog
app/graph/catalog.py - Neo4j graph
app/db/neo4j.py
Career reasoning
- Graph reasoner
app/graph/reasoner.py - Symbolic scoring
app/graph/scoring.py - Pivot analysis
app/graph/pivot.py - Graph payloads
app/graph/payloads.py - Coaching explanation
app/extraction/explainer.py
Other components
- Career user
- Gemini service
Connections 35
- Career user → App navigation: uses
- App navigation → Analysis views: routes to
frontend/src/App.jsx - App navigation → User and job views: routes to
frontend/src/App.jsx - App navigation → Ontology view: routes to
frontend/src/App.jsx - App navigation → System status view: routes to
frontend/src/App.jsx - Analysis views → API client: requests analysis
- User and job views → API client: requests management
frontend/src/pages/Users.jsx - Ontology view → API client: loads ontology
- System status view → API client: loads status
- API client → Analysis API: calls endpoints
- Analysis API → Text ingestion: dispatches extraction
app/api/routes.py - Analysis API → Analysis service: dispatches analysis
app/api/routes.py - Analysis API → Pivot service: dispatches pivot
app/api/routes.py - User and job API → User and job services: dispatches management
app/api/users.py - Ontology API → Skill ontology: serves ontology
app/api/ontology.py - Text ingestion → Graph catalog: checks source hash
app/services/ingestion.py - Text ingestion → Skill extraction: extracts text
app/services/ingestion.py - Text ingestion → Skill normalization: normalizes skills
app/services/ingestion.py - Text ingestion → Skill ontology: resolves terms
app/services/ingestion.py - Text ingestion → Graph writer: writes records
app/services/ingestion.py - Skill extraction → Gemini client: requests extraction
app/extraction/extractor.py - Gemini client → Quota protection: checks budget
app/extraction/llm.py - Gemini client → Gemini service: generates text
app/extraction/llm.py - Graph catalog → Neo4j graph: queries graph
app/graph/catalog.py - Graph writer → Neo4j graph: writes graph
app/graph/writer.py - Analysis service → Graph reasoner: loads graph data
app/services/analysis.py - Analysis service → Symbolic scoring: computes score
app/services/analysis.py - Analysis service → Graph payloads: builds graph views
app/services/analysis.py - Analysis service → Coaching explanation: generates explanation
app/services/analysis.py - Graph reasoner → Neo4j graph: queries graph
app/graph/reasoner.py - Graph reasoner → Symbolic scoring: uses rules
app/graph/reasoner.py - Pivot service → Skill extraction: extracts target role
app/services/pivot.py - Pivot service → Pivot analysis: computes pivot
app/services/pivot.py - Pivot service → Symbolic scoring: uses weights
app/services/pivot.py - User and job services → Graph writer: updates graph