GitResume
FastAPI application extracting AST syntax trees with Tree-sitter and streaming real-time ATS resume bullet points grounded in verified repository code.
GitResume came from an issue I kept noticing: good engineering work often gets summarized poorly on a resume.
A code repository shows architectural choices, concurrency patterns, and system tradeoffs. Most resume generators simply ask an LLM to invent generic bullet points without reading the actual code.
I built GitResume to inspect repositories directly and generate factual, ATS-compatible resume bullet points grounded in code evidence.
Architecture and pipeline
GitResume is built as a FastAPI web application focused on static code analysis and real-time streaming:
1. Grammar-level code analysis with Tree-sitter
Rather than running surface-level keyword or regex searches, GitResume parses codebases using Tree-sitter parsers across languages including Python, TypeScript, Go, Rust, and C++:
- Traverses syntax trees to extract actual module dependencies, class hierarchies, and public interface signatures.
- Identifies database ORM schemas, API route decorators, worker pools, and messaging queues.
- Measures structural complexity and presence of automated tests without uploading raw proprietary logic or comments.
2. Real-time streaming with WebSockets and Redis
Analyzing a multi-thousand-line repository takes several seconds. To give users immediate feedback rather than a blank loading spinner, GitResume coordinates an asynchronous WebSocket pipeline:
- Emits real-time progress events across distinct stages: repository cloning, AST inspection, prompt synthesis, and final formatting.
- Uses Redis for temporary session caching and sliding-window rate limiting via SlowAPI.
- Clones repositories into isolated ephemeral directory sandboxes and scrubs them immediately once analysis completes.
3. Structured JSON output schema
To make the output directly usable in resume builders and applicant tracking systems, GitResume enforces a strict JSON schema across multiple LLM providers (Anthropic Claude, Google Gemini, OpenAI, Groq):
name: normalized project name.tech_stack: verified list of languages, frameworks, databases, and tools actually found in the code.bullet_points: 4 to 6 impact-focused technical achievement bullets with action verbs.additional_notes: specific architectural decisions, deployment strategies, or tradeoffs.future_plansandpotential_advancements: logical next steps based on system gaps.interview_questions: technical questions with suggested answers categorized by backend, concurrency, or database design.
Deployment and containerization
- GitHub OAuth integration allows users to securely analyze both public and private repositories under scoped permissions.
- Multi-stage Docker builds produce lightweight production containers deployed with Uvicorn.
Why it stayed
GitResume works best because it stays anchored to facts. It behaves like a technical writing assistant for software engineers: evidence first, wording second, always grounded in what the code actually proves.