+
Skip to content

harrykamboj1/Resume-parser

Repository files navigation

Intelligent Resume Parser

A modern web application that uses AI to extract structured data from unstructured resumes with high accuracy. Built with Next.js, TypeScript, and Google's Gemini AI.

Features

  • Intelligent extraction of skills, work experience, and education details
  • Standardized data formatting and validation
  • Clean and modern user interface
  • Real-time processing with error handling
  • Responsive design for all devices

Technical Approach

Parsing Strategy

  1. AI-Powered Extraction: Uses Gemini AI to intelligently parse resume content
  2. Structured Validation: Implements Zod schemas to ensure data consistency
  3. Standardized Formatting: Normalizes dates, degree names, and skill levels
  4. Error Handling: Gracefully handles edge cases and invalid inputs

Edge Cases Handled

  1. Date Formats:

    • Standardizes various date formats (e.g., "Jan 2020", "01/2020", "January 2020")
    • Handles relative dates (e.g., "Present", "Current")
    • Validates date ranges for consistency
  2. Degree Names:

    • Standardizes common variations (e.g., "BSc" → "Bachelor of Science")
    • Handles international degree formats
    • Validates degree names against known patterns
  3. Skill Levels:

    • Standardizes proficiency levels (Beginner, Intermediate, Advanced, Expert)
    • Infers levels from context when not explicitly stated
    • Handles various skill level descriptions
  4. Content Validation:

    • Minimum content length check
    • Keyword-based resume validation
    • Pattern matching for invalid content
    • Structure validation for extracted data

Technical Decisions and Tradeoffs

  1. AI Model Selection:

    • Chose Gemini AI for its strong natural language understanding
    • Tradeoff: Requires API key and has usage costs
    • Alternative: Could use local models for privacy but with lower accuracy
  2. Data Encoding:

    • Using base64 encoding for URL-safe data transfer
    • Tradeoff: Slightly larger URL size
    • Alternative: Could use local storage but less shareable
  3. Validation Strategy:

    • Using Zod for runtime type checking
    • Tradeoff: Additional bundle size
    • Alternative: Manual validation but less maintainable
  4. UI Framework:

    • Using Next.js with Tailwind CSS
    • Tradeoff: Larger initial bundle
    • Alternative: Could use lighter framework but less developer experience

Getting Started

Prerequisites

  • Node.js 18+ and npm
  • Google Gemini API key

Installation

  1. Clone the repository:
git clone <repository-url>
cd resume-analyzer
  1. Install dependencies:
npm install
  1. Create a .env file in the root directory and add your Gemini API key:
GEMINI_API_KEY=your_api_key_here
  1. Start the development server:
npm run dev
  1. Open http://localhost:3000 in your browser.

Usage

  1. Paste your resume content into the text area
  2. Click "Parse Resume"
  3. View the extracted information in a structured format
  4. The parsed data includes:
    • Skills with proficiency levels
    • Work experience with company details
    • Education history with standardized degree names

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载