AI-Based Resume Screening System

This project implements an AI-based resume screening system using NLP and machine learning techniques. The system analyzes resume text, extracts key information, and ranks candidates based on job requirements.

Features

  • Resume text analysis using OpenAI's GPT models
  • Keyword extraction and skills matching
  • Candidate scoring and ranking
  • Simple web interface for uploading resumes and viewing results

Project Structure

├── backend/
│   ├── index.ts             # Main API entry point with Hono
│   ├── parser.ts            # Resume parsing logic
│   ├── scorer.ts            # Candidate scoring algorithms
│   └── database.ts          # SQLite database operations
├── frontend/
│   ├── index.html           # Main HTML template
│   ├── app.tsx              # Frontend React application
│   └── components/          # UI components
│       ├── ResumeUpload.tsx # Resume upload component
│       ├── JobForm.tsx      # Job requirements input form
│       └── Results.tsx      # Results display component
└── shared/
    ├── types.ts             # Shared type definitions
    └── utils.ts             # Utility functions

How It Works

  1. Users upload resume text or paste it directly
  2. Users define job requirements and skills
  3. The system processes the resume using NLP techniques
  4. Candidates are scored based on matching with job requirements
  5. Results are displayed with highlighted matching skills and experience

Technologies Used

  • OpenAI API for natural language processing
  • SQLite for data storage
  • Hono for backend API
  • React for frontend UI
  • TailwindCSS for styling