An intelligent resume analysis platform powered by AI that provides comprehensive feedback, ATS scoring, and personalized improvement recommendations.
RESUMID is a modern, full-stack web application that leverages artificial intelligence to analyze resumes and provide detailed feedback to job seekers. Built with cutting-edge technologies, it offers a seamless user experience for uploading resumes, receiving AI-powered analysis, and tracking application progress.
- ๐ค AI-Powered Analysis: Utilizes Claude AI for comprehensive resume evaluation
- ๐ ATS Compatibility Scoring: Analyzes how well resumes pass through Applicant Tracking Systems
- ๐จ Modern UI/UX: Beautiful, responsive design with smooth animations
- โ๏ธ Cloud-First Architecture: Leverages Puter.js for seamless cloud integration
- ๐ Secure Authentication: Built-in user authentication and session management
- ๐ฑ Mobile Responsive: Optimized for all device sizes
- Overall Score Calculation: Intelligent scoring algorithm based on multiple factors
- Category-wise Breakdown: Detailed analysis of:
- ๐ Tone & Style: Professional language assessment
- ๐ Content Quality: Relevance and completeness evaluation
- ๐๏ธ Structure: Format and organization analysis
- ๐ ๏ธ Skills Assessment: Technical and soft skills evaluation
- ๐ฏ ATS Compatibility: Applicant Tracking System optimization
- Drag & Drop Upload: Intuitive PDF resume upload with progress tracking
- Real-time Processing: Live status updates during analysis
- Expandable Details: Accordion-based detailed feedback sections
- Visual Score Indicators: Gauge charts and color-coded badges
- Responsive Grid Layout: Optimized for desktop, tablet, and mobile
- File Storage: Secure cloud storage for resumes and generated images
- AI Processing: Direct integration with Claude AI models
- Key-Value Database: Persistent data storage for user sessions
- Authentication: Seamless user management and access control
AI-Resume-Analyzer/
โโโ app/
โ โโโ components/ # Reusable UI components
โ โ โโโ Accordion.tsx # Collapsible content sections
โ โ โโโ FileUploader.tsx # Drag & drop file upload
โ โ โโโ ScoreGauge.tsx # Animated score visualization
โ โ โโโ ScoreBadge.tsx # Color-coded score indicators
โ โ โโโ TipCard.tsx # Feedback recommendation cards
โ โ โโโ ...
โ โโโ lib/ # Core utilities and services
โ โ โโโ puter.ts # Puter.js integration layer
โ โ โโโ pdf2image.ts # PDF to image conversion
โ โ โโโ utils.ts # Helper functions
โ โโโ routes/ # Application pages
โ โ โโโ home.tsx # Dashboard with resume list
โ โ โโโ upload.tsx # Resume upload and analysis
โ โ โโโ resume.tsx # Detailed feedback view
โ โ โโโ auth.tsx # Authentication flow
โ โโโ types/ # TypeScript definitions
โโโ constants/ # Application constants
โโโ public/ # Static assets
โโโ ...
- React 19 - Latest React with concurrent features
- React Router 7 - Modern routing with data loading
- TypeScript - Type-safe development
- Tailwind CSS 4 - Utility-first styling with custom design system
- Zustand - Lightweight state management
- React Dropzone - File upload handling
- Claude AI Integration - Advanced language model for resume analysis
- Cloud File Storage - Secure file management
- Key-Value Database - Fast data persistence
- Authentication Service - User management and sessions
- PDF.js - Client-side PDF rendering and conversion
- Canvas API - High-quality image generation from PDFs
- Node.js (v18 or higher)
- npm or yarn
- Puter.js Account (for cloud services)
-
Clone the repository
git clone https://github.com/shivarag200701/ai-resume-analyzer.git cd ai-resume-analyzer -
Install dependencies
npm install
-
Start development server
npm run dev
-
Open your browser Navigate to
http://localhost:5173
# Build for production
npm run build
# Start production server
npm start# Build Docker image
docker build -t ai-resume-analyzer .
# Run container
docker run -p 3000:3000 ai-resume-analyzerPuter.js provides a comprehensive cloud platform that eliminates the need for traditional backend infrastructure. This application leverages Puter's services for:
// Seamless authentication flow
const { auth } = usePuterStore();
// Check authentication status
const isAuthenticated = await auth.checkAuthStatus();
// Sign in/out with built-in UI
await auth.signIn();
await auth.signOut();// Upload resume files
const uploadedFile = await fs.upload([pdfFile]);
// Convert PDF to image for preview
const imageFile = await convertPdfToImage(pdfFile);
const uploadedImage = await fs.upload([imageFile]);
// Retrieve files with blob conversion
const resumeBlob = await fs.read(filePath);
const resumeUrl = URL.createObjectURL(resumeBlob);// Direct Claude AI integration
const feedback = await ai.feedback(
uploadedFile.path,
prepareInstructions({ jobTitle, jobDescription })
);
// Structured AI response processing
const feedbackData = JSON.parse(feedback.message.content);// Store resume analysis data
await kv.set(`resume:${uuid}`, JSON.stringify(resumeData));
// Retrieve user's resume history
const resumes = await kv.list("resume:*", true);- Clean & Modern: Minimalist interface focusing on content
- Accessible: WCAG compliant with proper contrast ratios
- Responsive: Mobile-first approach with progressive enhancement
- Interactive: Smooth animations and micro-interactions
- Animated SVG gauge with gradient fills
- Real-time score visualization
- Responsive scaling for different screen sizes
- Collapsible content sections
- Smooth expand/collapse animations
- Keyboard navigation support
- Multiple sections can be open simultaneously
- Drag & drop functionality with visual feedback
- File validation and size limits
- Progress indicators and error handling
- Preview capabilities with file details
/* Custom color palette */
--color-badge-green: #d5faf1; /* Success states */
--color-badge-yellow: #fceed8; /* Warning states */
--color-badge-red: #f9e3e2; /* Error states */
/* Gradient system */
.text-gradient {
background: linear-gradient(to right, #ab8c95, #000000, #8e97c5);
}The AI engine evaluates resumes across five key dimensions:
Comprehensive rating based on all analysis factors
- Keyword optimization
- Format compatibility
- Structure analysis
- Parsing efficiency
- Professional language usage
- Consistency in voice
- Industry-appropriate terminology
- Grammar and clarity
- Relevance to job requirements
- Achievement quantification
- Skills representation
- Experience articulation
- Visual hierarchy
- Section organization
- Readability factors
- Length optimization
const prepareInstructions = ({ jobTitle, jobDescription }) => `
You are an expert in ATS and resume analysis.
Analyze this resume considering:
- Job Title: ${jobTitle}
- Job Description: ${jobDescription}
Provide detailed feedback using structured JSON format...
`;- Code Splitting: Route-based lazy loading
- Image Optimization: WebP format with fallbacks
- Bundle Analysis: Optimized dependency management
- Caching Strategy: Efficient file and data caching
- Responsive Grid: Adaptive layouts for all screen sizes
- Touch Interactions: Optimized for mobile gestures
- Progressive Loading: Content loads as needed
- Offline Support: Basic functionality without internet
- Secure File Upload: Validated file types and size limits
- Authentication: Session-based user management
- Data Encryption: Secure transmission and storage
- Input Validation: Comprehensive form validation
- Data Minimization: Only necessary data is collected
- Secure Storage: Files stored in encrypted cloud storage
- User Control: Users can delete their data anytime
- No Data Sharing: Resume content remains private
- Vercel - Optimized for React applications
- Netlify - JAMstack deployment with CI/CD
- Railway - Full-stack deployment with database
- AWS/GCP/Azure - Enterprise-grade cloud hosting
- Docker - Containerized deployment
- Kubernetes - Scalable container orchestration
- Docker Compose - Local development environment
- Multi-language Support - Resume analysis in multiple languages
- Industry-specific Analysis - Tailored feedback for different sectors
- Resume Builder - Integrated resume creation tool
- Job Matching - AI-powered job recommendation system
- Team Collaboration - HR team features for bulk analysis
- API Integration - REST API for third-party integrations
- Real-time Collaboration - Live editing and feedback
- Advanced Analytics - Detailed performance metrics
- A/B Testing Framework - Feature experimentation
- Progressive Web App - Offline functionality
- Voice Commands - Accessibility improvements
We welcome contributions from the community! Here's how you can help:
- Use the GitHub issue tracker
- Provide detailed reproduction steps
- Include screenshots and error messages
- Describe the feature and its benefits
- Provide use cases and examples
- Consider implementation complexity
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- Puter.js Team - For providing an excellent cloud platform
- Anthropic - For the powerful Claude AI model
- React Router Team - For the modern routing solution
- Tailwind CSS - For the utility-first CSS framework
- Open Source Community - For the amazing tools and libraries
โญ Star this repository if you found it helpful!
๐ View Live Demo | ๐ Read Documentation | ๐ Report Issues