A comprehensive AI-powered resume screening and job matching platform with real authentication, database integration, resume parsing, and AI-powered job matching.
- Real Resume Parsing: Upload PDF/DOCX resumes with actual text extraction and analysis
- AI-Powered Scoring: Get detailed ATS compatibility scores based on parsed content
- Job Fit Analysis: Compare your resume against job descriptions using semantic similarity
- Skill Gap Analysis: Identify missing skills and experience gaps with AI recommendations
- Interview Simulator: Practice with Hugging Face-powered realistic interview questions
- Database Storage: All resume data and match results are stored securely
- Real Job Matching: Create job postings and get AI-powered candidate matching
- Bulk Resume Processing: Upload up to 50 resumes with real parsing and analysis
- Accurate Match Scoring: Semantic similarity-based matching with detailed breakdowns
- Comprehensive Results: Tabular view with candidate details, skills, and match percentages
- Red Flag Detection: Identify employment gaps, job hopping, and other concerns
- CSV Export: Export all candidate analysis results
- Real Authentication: Secure login/signup with bcrypt password hashing
- OAuth Integration: Google and LinkedIn OAuth with Supabase Auth
- Database Integration: PostgreSQL with Supabase for data persistence
- Duplicate Prevention: Email validation and duplicate account prevention
- Session Management: Secure session handling with automatic redirects
- Frontend: React 18, TypeScript, Tailwind CSS
- Database: Supabase (PostgreSQL) with Row Level Security
- Authentication: Supabase Auth with bcrypt password hashing
- Resume Parsing: PDF.js for PDF parsing, custom text extraction
- AI/NLP: Semantic similarity matching, skill extraction algorithms
- File Upload: Real file processing with validation
- OAuth: Google and LinkedIn integration via Supabase
-
Clone the repository
git clone <repository-url> cd resume-screening-platform
-
Install dependencies
npm install
-
Set up Supabase
- Create a new Supabase project at https://supabase.com
- Copy your project URL and anon key
- Run the migration in the Supabase SQL editor
-
Set up environment variables
# Copy .env.example to .env and fill in your values cp .env.example .env -
Start the development servers
npm run dev
-
Open your browser
- Frontend: http://localhost:5173
- Backend API: http://localhost:3001
resume-screening-platform/
โโโ src/
โ โโโ components/
โ โ โโโ LandingPage.tsx # Main landing page
โ โ โโโ Login.tsx # Login page
โ โ โโโ Signup.tsx # Signup page with OAuth
โ โ โโโ CandidateDashboard.tsx # Candidate main dashboard
โ โ โโโ RecruiterDashboard.tsx # Recruiter main dashboard
โ โ โโโ BulkResumeUpload.tsx # Bulk resume processing
โ โ โโโ InterviewSimulator.tsx # AI interview practice
โ โโโ context/
โ โ โโโ AuthContext.tsx # Authentication state management
โ โโโ lib/
โ โ โโโ supabase.ts # Supabase client and types
โ โโโ utils/
โ โ โโโ resumeParser.ts # Real resume parsing logic
โ โ โโโ jobMatcher.ts # AI job matching algorithms
โ โ โโโ huggingface.ts # Hugging Face API integration
โ โโโ App.tsx # Main app component with routing
โ โโโ main.tsx # App entry point
โโโ supabase/
โ โโโ migrations/
โ โโโ 001_initial_schema.sql # Database schema
โโโ server.js # Express backend server
โโโ tailwind.config.js # Tailwind with purple theme
โโโ package.json
โโโ README.md
- users: User accounts with authentication data
- resumes: Parsed resume data and metadata
- job_postings: Recruiter job postings
- job_matches: Candidate-job match results
- Row Level Security (RLS) enabled on all tables
- Users can only access their own data
- Secure authentication with Supabase Auth
- PDF Extraction: Real PDF text extraction using PDF.js
- DOCX Support: Document parsing with text extraction
- Data Extraction: Name, email, phone, skills, experience, education
- Skill Recognition: Advanced skill detection from resume text
- Semantic Similarity: Advanced text matching algorithms
- Skill Matching: Precise skill overlap analysis
- Experience Gap Detection: Identify missing experience requirements
- Scoring Algorithm: Multi-factor scoring with weighted components
- Hugging Face Integration: Real AI-powered question generation
- Context Awareness: Questions based on resume and job description
- Real-time Feedback: AI analysis of candidate responses
- Password Hashing: bcrypt with salt rounds for security
- Duplicate Prevention: Email uniqueness validation
- User Types: Separate candidate and recruiter flows
- OAuth Support: Google and LinkedIn integration
- Supabase Auth: Secure session handling
- Automatic Redirects: Role-based dashboard routing
- Persistent Sessions: Remember user login state
- Secure Logout: Complete session cleanup
- Actual Resume Parsing: No more mock data - real PDF/DOCX processing
- Database Persistence: All data stored in PostgreSQL via Supabase
- Accurate Matching: Semantic similarity algorithms for job matching
- Real Authentication: Secure login with password hashing and OAuth
- Error Handling: Comprehensive error messages and validation
- Loading States: Real-time feedback during processing
- Data Validation: File type checking and content validation
- Responsive Design: Works perfectly on all devices
- Set up Supabase project with authentication enabled
- Configure OAuth providers (Google, LinkedIn)
- Run database migrations
- Set environment variables
npm run build- Build the frontend- Deploy to your preferred hosting platform
- Configure environment variables in production
- Set up domain and SSL certificates
- Better NLP Models: Integration with more advanced language models
- Sentiment Analysis: Analyze resume tone and presentation
- Skill Recommendations: AI-powered career path suggestions
- Automated Screening: Advanced candidate filtering algorithms
- Video Interviews: AI-powered video interview analysis
- Mobile App: React Native mobile application
- Analytics Dashboard: Advanced recruiting analytics
- Integration APIs: Connect with popular ATS systems
- Real resume parsing with PDF.js and custom algorithms
- Actual database operations with Supabase
- Secure authentication with bcrypt and OAuth
- Semantic job matching with similarity algorithms
- Unit tests for parsing and matching algorithms
- Integration tests for database operations
- End-to-end tests for user flows
- Security testing for authentication
Built with โค๏ธ using React, TypeScript, Supabase, and real AI-powered features