Resume Screening System

A machine learning-powered resume screening system that uses NLP to match resumes against job requirements.

Features

  • Upload and process resumes in text format
  • Define job requirements and skills
  • Automatically score and rank resumes based on relevance
  • View detailed matching scores for each resume

Technology Stack

  • Backend: TypeScript with Hono framework
  • Frontend: HTML, CSS (Tailwind), and TypeScript with React
  • Database: SQLite for storing resumes and job requirements
  • NLP/ML: OpenAI embeddings for semantic matching

Project Structure

├── backend/
│   ├── database.ts    # SQLite database operations
│   ├── nlp.ts         # NLP processing functions
│   └── index.ts       # Main API entry point
├── frontend/
│   ├── components/
│   │   ├── App.tsx
│   │   ├── JobForm.tsx
│   │   ├── ResumeUpload.tsx
│   │   └── Results.tsx
│   ├── index.html     # Main HTML template
│   └── index.tsx      # Frontend entry point
└── shared/
    └── types.ts       # Shared type definitions

How It Works

  1. Users upload resumes and define job requirements
  2. The system processes resumes using NLP techniques
  3. Resumes are matched against job requirements using semantic similarity
  4. Results are displayed with matching scores and rankings

Getting Started

Access the application at the root URL. No setup required as it runs on Val Town.