How mattakarthikeya1232/resumelens works
ResumeLens is a local-first resume analysis application: a user uploads a PDF or DOCX, receives evidence-backed technical and professional classifications and an explanation, then can review reports, history, settings, and runtime diagnostics. The Java analysis service orchestrates parsing, section and candidate extraction, classification, explanation, and session-only result storage. Optional local ONNX embeddings and a trusted local LLM enhance analysis without being required. Frontend page behavior and some orchestration details were not sampled; those connections rely on documented capabilities, and uncertain wiring is omitted.
Main entry points: ResumeAnalysisService.java Analysis orchestrator · ResumeController.java REST controller · DiagnosticsService.java Runtime diagnostics · LocalLlmService.java Local LLM adapter
Components 21
ResumeLens UI
- React application
frontend/src/App.tsx - Product pages
frontend/src/pages - API client
frontend/src/services/api.ts
API and sessions
- REST controller
backend/src/main/java/com/resumelens/controller/ResumeController.java - Analysis result
backend/src/main/java/com/resumelens/dto/AnalysisResult.java - Session history
backend/src/main/java/com/resumelens/service/ResumeAnalysisService.java - Runtime diagnostics
backend/src/main/java/com/resumelens/service/DiagnosticsService.java - Diagnostics response
backend/src/main/java/com/resumelens/dto/Diagnostics.java
Resume analysis
- Analysis orchestrator
backend/src/main/java/com/resumelens/service/ResumeAnalysisService.java - PDF and DOCX parsing
backend/src/main/java/com/resumelens/parser/DocumentTextExtractor.java - PDF extractor
backend/src/main/java/com/resumelens/parser/PdfTextExtractor.java - DOCX extractor
backend/src/main/java/com/resumelens/parser/DocxTextExtractor.java - Section detection
backend/src/main/java/com/resumelens/parser/SectionDetector.java - Candidate extraction
backend/src/main/java/com/resumelens/parser/CandidateInfoExtractor.java - Evidence classifier
backend/src/main/java/com/resumelens/service/ClassifierService.java - Skill catalog
backend/src/main/java/com/resumelens/service/SkillCatalog.java - Deterministic explanation
backend/src/main/java/com/resumelens/llm/DeterministicExplanationService.java
Optional local models
- Local LLM adapter
backend/src/main/java/com/resumelens/llm/LocalLlmService.java - MiniLM embeddings
backend/src/main/java/com/resumelens/service/OnnxEmbeddingService.java
Other components
- Resume user
- Trusted local runner
Connections 23
- Resume user → React application: uses
- React application → Product pages: routes
- Product pages → API client: requests
- API client → REST controller: HTTP requests
- REST controller → Analysis orchestrator: analyzes and retrieves
- Analysis orchestrator → PDF and DOCX parsing: extracts text
- PDF extractor → PDF and DOCX parsing: implements
- DOCX extractor → PDF and DOCX parsing: implements
- Analysis orchestrator → Section detection: detects sections
- Analysis orchestrator → Candidate extraction: extracts candidate info
- Analysis orchestrator → Evidence classifier: classifies sections
- Evidence classifier → Skill catalog: matches skills
- Evidence classifier → MiniLM embeddings: requests relevance
- Analysis orchestrator → Deterministic explanation: creates explanation
- Analysis orchestrator → Local LLM adapter: requests explanation
- Local LLM adapter → Trusted local runner: runs prompt
- Analysis orchestrator → Analysis result: builds result
- Analysis orchestrator → Session history: stores and reads
- REST controller → Runtime diagnostics: requests snapshot
- Runtime diagnostics → MiniLM embeddings: reads model status
- Runtime diagnostics → Local LLM adapter: reads adapter status
- Runtime diagnostics → Diagnostics response: returns snapshot
- REST controller → Local LLM adapter: reads or updates settings