Smart Candidate Evaluation & AI-Powered Interview Preparation
Live Demo β’ API Documentation β’ Contact
- Overview
- Features
- Technology Stack
- Getting Started
- Project Structure
- API Integration
- Components
- Error Handling
- Rate Limiting
- Deployment
- Contributing
- Contact
JobPsych is a cutting-edge web application that revolutionizes HR processes through AI-powered resume analysis and intelligent interview preparation. The platform helps HR professionals and recruiters streamline candidate evaluation by automatically analyzing resumes and generating tailored interview questions.
- Time Efficient: Reduce resume screening time by 80%
- AI-Powered: Advanced natural language processing for accurate analysis
- Interview Ready: Auto-generated questions based on candidate's background
- User-Friendly: Intuitive interface with real-time feedback
- Mobile Responsive: Works seamlessly across all devices
- Multi-format Support: PDF, DOC, DOCX files (up to 5MB)
- Intelligent Parsing: Extracts personal info, experience, education, and skills
- Key Highlights: Identifies standout qualifications and achievements
- Real-time Processing: Fast analysis with visual feedback
- Categorized Questions: Technical, Behavioral, and Experience-based
- Context-Aware: Questions tailored to candidate's specific background
- Interactive Selection: Choose and organize questions for interviews
- Professional Insights: Strategic tips for effective interviewing
- Network Resilience: Graceful handling of connection issues
- File Validation: Comprehensive checks for file type and size
- User Feedback: Clear error messages and recovery suggestions
- Rate Limit Management: Built-in quota system with user guidance
- Responsive Design: Mobile-first approach with Tailwind CSS
- Smooth Animations: Engaging transitions and micro-interactions
- Accessibility: WCAG compliant with keyboard navigation
- Dark Mode Ready: Future-ready design system
- React 19.1.0 - Modern UI library with latest features
- Vite 6.3.5 - Lightning-fast build tool and dev server
- Tailwind CSS 4.1.7 - Utility-first CSS framework
- Heroicons - Beautiful SVG icons
- React Hooks - useState, useEffect for local state
- Context API - Global state management
- Error Boundaries - Graceful error handling
- ESLint - Code linting and formatting
- React DevTools - Development debugging
- Hot Reload - Instant development feedback
- PWA Ready - Progressive Web App capabilities
- Service Worker - Offline functionality
- Local Storage - Client-side data persistence
src/
βββ components/ # React components
β βββ ResumeUpload.jsx # File upload interface
β βββ ResumeDetails.jsx # Parsed resume display
β βββ GeneratedQuestions.jsx # Interview questions
β βββ RateLimitError.jsx # Rate limit handling
β βββ Toast.jsx # Notification system
β βββ ErrorBoundary.jsx # Error boundary wrapper
β βββ ...
βββ utils/ # Utility functions
β βββ api.js # API configuration
β βββ errorHandler.js # Error management
β βββ pwaUtils.js # PWA utilities
β βββ reactSafety.js # React safety hooks
βββ App.jsx # Main application component
βββ main.jsx # React entry point
βββ index.css # Global styles
- Drag & drop file upload
- File validation and preview
- Progress indicators
- Error handling
- Structured resume display
- Highlighting system
- Responsive layout
- Professional formatting
- Categorized question display
- Interactive selection
- Expandable sections
- Export functionality
- Rate limit notification
- Countdown timer
- Contact information
- User guidance
- Application-level error catching
- User-friendly error pages
- Recovery options
- Debug information
- Real-time notifications
- Multiple types (success, warning, error)
- Auto-dismiss functionality
- Accessibility support
const ERROR_TYPES = {
NETWORK: "network",
SERVER: "server",
VALIDATION: "validation",
FILE: "file",
TIMEOUT: "timeout",
RATE_LIMIT: "rate_limit",
UNKNOWN: "unknown",
};
- Automatic Retry: For network and server errors
- File Validation: Pre-upload checks with user guidance
- Graceful Degradation: Fallback components for critical failures
- User Feedback: Clear messages with actionable steps
- 2 resume uploads per 24 hours per IP address
- Enforced by backend API
- User-friendly error handling
- Real-time countdown timer
- Clear reset information
- Contact details for additional quota
- Professional upgrade path
{
"detail": {
"error": "Rate limit exceeded",
"message": "You have exceeded the daily limit of 2 resume uploads per day.",
"reset_in": "23h 53m",
"retry_after": 85995
}
}
- Email: [email protected]
- Website: jobpsych.vercel.app
For additional resume analysis quota or enterprise features, contact us at [email protected]
Made with β€οΈ by the JobPsych Team
β Star this repo β’ π Report Bug β’ π‘ Request Feature