Skip to content

ShawnN24/AI-Resume-Parser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

6 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿง  AI Resume Parser

AI Resume Parser is a FastAPI-based backend service that extracts structured work experience from resumes using advanced natural language processing. Built to serve as a microservice for the PortFlow app, it converts uploaded resumes into a JSON format that can be consumed by frontends or other services.


๐Ÿš€ Features

  • ๐Ÿ“„ Accepts resume files (.pdf) via POST requests
  • ๐Ÿค– Parses job titles, companies, dates, and descriptions using LLMs (Mistral AI)
  • ๐Ÿงผ Handles and sanitizes messy or unstructured resume data
  • ๐ŸŒ FastAPI-based RESTful API
  • ๐Ÿ›ก๏ธ Handles errors gracefully with fallback responses
  • ๐Ÿ” Secure API key usage via environment variables

๐Ÿ› ๏ธ Tech Stack

  • Python
  • FastAPI โ€“ Web framework
  • Uvicorn โ€“ ASGI server
  • Mistral AI โ€“ For language-based parsing
  • python-docx, PyMuPDF โ€“ Resume file handling

๐Ÿ“ฆ Installation

  1. Clone the repository:
git clone https://github.com/ShawnN24/AI-Resume-Parser.git
cd AI-Resume-Parser
  1. Create a virtual environment:
python -m venv .venv
source .venv/bin/activate   # On Windows: .venv\Scripts\activate
  1. Install dependencies:
pip install -r requirements.txt
  1. Set up your environment variables:
API_KEY="YOUR_OPENROUTER_API_KEY"
PROJECT_KEY="WRITE_YOUR_OWN_KEY_HERE"

๐Ÿงช Running Locally

uvicorn app.main:app --reload

๐Ÿ“ค API Endpoint

POST /parse

Form Data: file: Resume file (.pdf)

Example Response (on success):

{
  "name": "Example Name",
  "email": "example@gmail.com",
  "skills": [
    "javascript",
    "googlecloud",
    "python",
    "amazonwebservices",
    "github",
    "react"
  ]
}

POST /extract-experience

Form Data: file: Resume file (.pdf)

Example Response (on success):

{
  "experience": [
    {
      "job_title": "Full Stack Example Intern",
      "company": "Example Inc.",
      "location": "Remote",
      "start_date": "Jan 2025",
      "end_date": "Current",
      "bullets": [
        "Developing an AI Resume Parser using python, FastAPI, Uvicorn, and Mistral AI",
        "Designed a web app to auto generate portfolio websites given a Github profile and a Resume"
      ]
    }
  ]
}

About

๐Ÿ› ๏ธ An intelligent resume parsing API built with Python, FastAPI, and LLM-powered extraction to convert PDF resumes into structured, editable data.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages