This repository is a focused backend code sample extracted from DevFolio for review.
It centers on the analysis pipeline that turns a project archive or repository into structured engineering signals: Tree-sitter based code analysis, git and contribution analysis, evidence-based skill extraction, and resume-ready output generation.
- repository analysis pipeline design
- Tree-sitter parsing and structured extraction
- resume bullet generation from multiple analysis signals
- reliability and fallback handling when optional capabilities are unavailable
- clear backend service boundaries between API, services, analyzers, and models
This is a curated code sample for technical review. The full DevFolio project also includes a frontend, Electron desktop shell, persistence and auth layers, and broader product features that were intentionally omitted here so reviewers can understand the core backend analysis story quickly.
Full project: https://github.com/COSC-499-W2025/capstone-project-team-7
Recommended reading order:
backend/src/api/analysis_routes.py— orchestration of the analysis flow and fallback decisionsbackend/src/services/services/code_analysis_service.py— service boundary between API code and the Tree-sitter analyzerbackend/src/local_analysis/code_parser.py— the deepest technical slice, including AST-driven code analysisbackend/src/analyzer/skills_extractor.py— evidence-based skill detection and scoringbackend/src/services/services/resume_generation_service.py— synthesis of analysis data into reviewer-friendly resume bulletstests/test_skills_extractor.py,tests/test_contribution_analyzer.py, andtests/local_analysis/test_git_repo.py— fast examples of intended behavior
Please focus on the extracted backend analysis and generation logic: parsing, orchestration, skill extraction, contribution analysis, and resume-oriented synthesis.
- frontend UI
- Electron shell
- most auth and persistence infrastructure
- unrelated app features such as LinkedIn, job matching, and broader CRUD flows
- non-essential assets and generated output
This sample keeps the original module structure and code meaning wherever possible. A few package marker files and a curated dependency list were added only to make the extracted slice easier to navigate and test in isolation. Some full-product route dependencies were intentionally not carried over because they would pull in large low-signal storage and auth subsystems that are outside the point of this sample.
python -m venv .venv
source .venv/bin/activate
pip install -r backend/requirements.txt
pytest tests/test_skills_extractor.py tests/test_contribution_analyzer.py tests/local_analysis/test_git_repo.py -q