π€ AI-powered resume analyzer with ATS scoring, job matching, and detailed feedback. Built with React, Puter.js, and Tailwind CSS. Get instant insights on your resume's performance!
"Stop guessing if your resume will pass the ATS. Start knowing."
Build an AI-powered Resume Analyzer with React, React Router, and Puter.js! Implement seamless auth, upload and store resumes, and match candidates to jobs using smart AI evaluations. Get custom feedback and ATS scores tailored to each listingβall wrapped in a clean, reusable UI.
- β ATS Score Analysis - Know exactly how well your resume performs
- β AI-Powered Feedback - Get detailed improvement suggestions
- β Job-Specific Matching - Tailored analysis for each position
- β Modern UI/UX - Beautiful, responsive interface
- β Zero Backend Setup - Everything runs in the browser
- React 19 - A popular openβsource JavaScript library for building user interfaces using reusable components and a virtual DOM, enabling efficient, dynamic single-page and native apps.
- React Router v7 - The goβto routing library for React apps, offering nested routes, data loaders/actions, error boundaries, code splitting, and SSR supportβall with a smooth upgrade path from v6.
- Zustand - A minimal, hook-based state management library for React. It lets you manage global state with zero boilerplate, no context providers, and excellent performance through selective state subscriptions.
- Puter.com - An advanced, open-source internet operating system designed to be feature-rich, exceptionally fast, and highly extensible. Puter can be used as: A privacy-first personal cloud to keep all your files, apps, and games in one secure place, accessible from anywhere at any time.
- Puter.js - A tiny clientβside SDK that adds serverless auth, storage, database, and AI (GPT, Claude, DALLΒ·E, OCRβ¦) straight into your browser appβno backend needed and costs borne by users.
- Tailwind CSS - A utility-first CSS framework that allows developers to design custom user interfaces by applying low-level utility classes directly in HTML, streamlining the design process.
- Vite - A fast build tool and dev server using native ES modules for instant startup, hotβmodule replacement, and Rollupβpowered production buildsβperfect for modern web development.
- Zero Backend Setup - Handle authentication entirely in the browser using Puter.js
- Secure File Storage - All resumes stored safely in the cloud
- Privacy First - Your data stays private and secure
- Drag & Drop Upload - Easy resume upload with visual feedback
- PDF to Image Conversion - Automatic conversion for AI analysis
- Multiple Resume Storage - Keep all your resumes organized in one place
- ATS Score Analysis - Know exactly how well your resume performs with Applicant Tracking Systems
- Job-Specific Matching - Get feedback tailored to each job description
- Comprehensive Feedback - Detailed analysis across multiple categories:
| Category | Description | Score Range |
|---|---|---|
| ATS Compatibility | How well your resume passes through automated screening | 0-100 |
| Tone & Style | Professional presentation and writing quality | 0-100 |
| Content Quality | Relevance and impact of your content | 0-100 |
| Structure | Organization and layout effectiveness | 0-100 |
| Skills Match | Alignment with job requirements | 0-100 |
- Reusable Components - Clean, consistent UI components
- Cross-Device Compatibility - Works seamlessly across all devices
- Modern Design - Beautiful, responsive interface built with Tailwind CSS
- Interactive Feedback - Visual score indicators and progress bars
ai_resume_analyzer/
βββ app/
β βββ components/ # Reusable UI components
β β βββ Accordion.tsx # Collapsible content sections
β β βββ ATS.tsx # ATS score display component
β β βββ Details.tsx # Detailed feedback display
β β βββ FileUploader.tsx # Drag & drop file upload
β β βββ Navbar.tsx # Navigation component
β β βββ ResumeCard.tsx # Resume preview cards
β β βββ ScoreBadge.tsx # Score indicator badges
β β βββ ScoreCircle.tsx # Circular score display
β β βββ ScoreGauge.tsx # Gauge-style score display
β β βββ Summary.tsx # Summary statistics
β βββ constants/ # Application constants
β βββ lib/ # Utility libraries
β β βββ PdfToImage.ts # PDF to image conversion
β β βββ puter.ts # Puter.js integration
β β βββ utils.ts # Helper functions
β βββ routes/ # Application routes
β β βββ auth.tsx # Authentication page
β β βββ home.tsx # Dashboard/home page
β β βββ resume.tsx # Individual resume view
β β βββ upload.tsx # Resume upload page
β β βββ wipe.tsx # Data cleanup utility
β βββ types/ # TypeScript type definitions
βββ public/ # Static assets
β βββ icons/ # SVG icons
β βββ images/ # Image assets
β βββ pdf.worker.min.mjs # PDF.js worker
βββ package.json # Dependencies and scripts
"Get up and running in under 5 minutes!"
Follow these steps to set up the project locally on your machine.
Make sure you have the following installed on your machine:
- Git - For version control
- Node.js (v18 or higher) - JavaScript runtime
- npm (Node Package Manager) - Package manager
git clone https://github.com/HamzaAmir97/ai_resume_analyzer
cd ai-resume-analyzernpm installnpm run devNavigate to http://localhost:5173 to view the project.
β‘ Pro Tip: The development server includes hot module replacement (HMR) for instant updates as you code!
| Command | Description | Environment |
|---|---|---|
npm run dev |
Start the development server with HMR | Development |
npm run build |
Build the project for production | Production |
npm run start |
Start the production server | Production |
npm run typecheck |
Run TypeScript type checking | Development |
The app uses Puter.js for seamless authentication without requiring a backend. Users can sign in with their Puter account to access the resume analyzer.
- Supports PDF resume uploads
- Drag and drop interface
- Automatic PDF to image conversion for AI analysis
- Secure file storage using Puter's file system
The AI analysis provides comprehensive feedback across five key areas:
- ATS Score - How well your resume performs with Applicant Tracking Systems
- Tone & Style - Professional presentation and writing quality
- Content Quality - Relevance and impact of your content
- Structure - Organization and layout effectiveness
- Skills Match - Alignment with job requirements
- Resumes and analysis results are stored using Puter's key-value store
- Each resume gets a unique ID and comprehensive metadata
- Analysis results include detailed scores and improvement tips
The project includes a comprehensive set of reusable UI components:
- ScoreBadge - Visual score indicators with color coding
- ScoreCircle - Circular progress indicators for scores
- ScoreGauge - Gauge-style score displays
- ResumeCard - Card-based resume previews
- FileUploader - Drag and drop file upload interface
- Accordion - Collapsible content sections for detailed feedback
This project is open source and available under the MIT License.
"Every contribution makes this project better!"
Contributions are welcome! Please feel free to submit a Pull Request. We love seeing new features, bug fixes, and improvements.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request