all projects

GitResume: Where Your Code Becomes Your Resume

pythonfastapistarletteuvicornjinja2tailwind cssredisdockergcp

GitResume is a production-ready web application designed to automatically generate professional, ATS-optimized resume content directly from a developer's GitHub repositories. By simply providing a repository URL, users can leverage AI to analyze their codebase, identify key technical achievements, and produce impactful, data-driven narrative sections for their resumes.

Core Features & Functionality

  1. AI-Powered Content Generation: At its core, GitResume uses AI models to transform repository data into compelling resume sections. This includes a project title, a list of technologies, and achievement-focused bullet points.

  2. Intelligent Code Analysis: The application clones a user's repository and uses the tree-sitter library to parse the code, identify the tech stack, analyze the structure, and extract key metrics like function and class counts.

  3. Job Description Tailoring: Users can input a job description to generate resume content that is specifically tailored to the requirements of the role, integrating relevant keywords naturally.

  4. In-depth Project Insights: Beyond bullet points, the tool generates additional notes on technical setups, future plans for the project, and potential advancements.

  5. Interview Preparation: To help users prepare for interviews, the application generates a list of potential technical and behavioral questions based on the repository's content, complete with comprehensive answers.

  6. Real-time Streaming UI: The generation process is streamed to the user in real-time via WebSockets, showing the current status from cloning and analyzing to generating the final output.

  7. Secure GitHub Authentication: Users can log in via GitHub OAuth to securely analyze their private repositories.

Technical Architecture & Stack

  1. Backend: The application is built with FastAPI and Python 3.11. It handles user authentication, repository analysis, and communication with AI services. The backend also features robust error handling and logging.

  2. Frontend: The user interface is rendered using Jinja2 templates and styled with Tailwind CSS (via CDN) for a clean, retro-modern aesthetic. The frontend is designed to be responsive and accessible.

  3. AI & Code Analysis:

    • AI Providers: Modular support for multiple AI providers including Gemini, OpenAI, Groq, and Claude, which can be configured via environment variables.

    • Code Parsing: Leverages Tree-sitter for efficient and accurate parsing of various programming languages to identify the tech stack and code structure.

    • Grammar Correction: An integrated AI-powered grammar check ensures the generated text is polished and professional.

  4. Caching & Performance: Redis is used for session management and rate limiting to ensure the application is scalable and performant.

  5. Containerization: The entire application is containerized using Docker with a multi-stage build process for a minimal and secure production image, served by Uvicorn.

Estimated reading time: 4 minutes