Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

InternOdyssey: Advanced Resume Matching System

Project Overview

InternOdyssey is an intelligent resume matching platform that uses a hybrid approach combining AI and rule-based fairness mechanisms to connect the right candidates with the right opportunities. The system employs natural language processing and semantic matching to go beyond traditional keyword-based approaches, ensuring more meaningful connections between candidates and internship opportunities.

Key Technical Contributions

AI-Powered Matching Engine

  • Embeddings-Based Semantic Matching: Implemented Sentence Transformer (all-MiniLM-L6-v2) for deep semantic understanding of resumes and job descriptions
  • Multi-Dimensional Analysis: Created vector space representations capturing skills, projects, achievements, and objectives in unified embeddings
  • Semantic Skill Alignment: Developed algorithm to match conceptually similar skills despite different phrasing (e.g., "chatbot development" → "LLM fine-tuning")

Fairness and Inclusivity Framework

  • Hybrid AI + Rule-Based Scoring System: Combined semantic matching (30%) with skill-based matching (50%), location factors (10%), and fresher status (10%)
  • Social Inclusion Mechanisms: Engineered bonus scoring for candidates from rural areas (+0.1) and reserved categories (+0.05-0.1)
  • Quota-Aware Selection Algorithm: Built configurable quota system for Rural/SC/ST candidates, balancing diversity and merit

System Performance & Deployment

  • Cloud-Ready Architecture: Optimized for deployment on Kaggle/Cloud GPU environments with <100MB model footprint
  • High-Performance Processing: Implemented batch embedding generation for rapid processing of thousands of resumes
  • Real-Time Capabilities: Integrated Ngrok for exposing services, enabling near real-time candidate selection

Security and Trust Features

  • Certificate Verification System: Designed and implemented authentication layer to validate educational and skill certificates
  • Transparency Mechanisms: Built explainable scoring system providing detailed score breakdown for each candidate match

Frontend Development

  • Responsive Dashboard: Created intuitive interface with React and TailwindCSS for both resume upload and custom internship entry
  • Interactive Visualization: Developed dynamic candidate tables with sorting and filtering capabilities
  • Data Export Functionality: Implemented one-click CSV export for match results

Technical Stack

Running InternOdyssey

Follow these steps to run the full system (Python backend via Kaggle, Node.js backend, and the React frontend). Commands shown are PowerShell-friendly.

  1. Start the Python backend service (Kaggle notebook)
  1. Start the Node.js backend (local)

Open a terminal (PowerShell) and run:

cd backend
node index.js

Notes:

  • Ensure Node.js (>=14) and npm are installed. If you prefer, use npm run start if you add an npm script.
  • If the Python Kaggle service exposed a public ngrok URL, update any frontend or backend configuration to point to that URL if cross-origin requests are required.
  1. Start the frontend development server

Open a new terminal (PowerShell) and run:

cd frontend
npm install   # run once to install dependencies
npm run dev

The Vite dev server will print a local address (for example http://localhost:5173). Open that address in your browser to use the app. If your frontend needs to call the Python/ngrok backend, use the public ngrok URL produced by the Kaggle notebook or configure a proxy.

  1. Troubleshooting & tips
  • If you see CORS errors, either configure CORS on the backend (Node or Python) or use the ngrok public URL for both services so requests come from the same origin.
  • If the Node backend needs environment variables, create a .env file in backend/ (example: PORT=3000) and load them with a package like dotenv.
  • To stop services: Ctrl+C in the terminal where they run. For Kaggle-hosted notebooks, stop the running notebook / kernel.
  1. Optional: local-only mode (no Kaggle/ngrok)
  • If you'd rather run the Python service locally, ensure you have Python and required packages installed. See py/bc.py for processing helpers. You may need to adapt the notebook startup code into a local script and run it with Python.

If you want, I can:

  • Add a small scripts/start-all.ps1 PowerShell script to start both backends and the frontend for local development.
  • Add a short backend/README.md with environment variable examples.

Impact

  • Scale: Capable of processing thousands of resumes in minutes
  • Accuracy: Significantly improved match quality over keyword-based systems
  • Fairness: Balanced merit with inclusivity through configurable quota system
  • Transparency: Provided clear explanations for candidate selection decisions

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages