Transform your resume with AI-powered insights and analysis
π Live Demo β’ π Documentation β’ π€ Contributing β’ π Issues
AI Resume Analyzer & Generator is a cutting-edge web application that leverages artificial intelligence to analyze resumes, provide actionable feedback, and help job seekers optimize their applications. Built with modern web technologies, it offers instant analysis with professional recommendations.
π Smart Analysis - Advanced AI algorithms analyze resume content, structure, and formatting
β‘ Instant Feedback - Get comprehensive analysis results in seconds
π Multi-Format Support - Upload PDF, DOC, DOCX, or TXT files
π― ATS Optimization - Ensure your resume passes Applicant Tracking Systems
π‘ Actionable Insights - Receive specific, implementable improvement suggestions
π Detailed Scoring - Get scored feedback on various resume aspects
π§ Resume Generation - Create optimized resumes from scratch
π± Responsive Design - Works seamlessly on desktop, tablet, and mobile devices
| Technology | Purpose |
|---|---|
| Next.js 14 | React framework with App Router |
| TypeScript | Type-safe development |
| Tailwind CSS | Utility-first CSS framework |
| AI Integration | OpenAI/Gemini API for resume analysis |
| PDF Processing | PDF parsing and text extraction |
| Vercel | Deployment and hosting |
- Node.js (v18.0.0 or higher)
- npm or yarn or pnpm or bun
- Git
-
Clone the repository
git clone https://github.com/abdulahad-2/AI-resume-analyzer-generator.git cd AI-resume-analyzer-generator -
Install dependencies
npm install # or yarn install # or pnpm install # or bun install
-
Set up environment variables
cp .env.example .env.local
Configure your environment variables:
# AI API Configuration OPENAI_API_KEY=your_openai_api_key_here GEMINI_API_KEY=your_gemini_api_key_here # App Configuration NEXT_PUBLIC_APP_URL=http://localhost:3000 NEXT_PUBLIC_APP_NAME="AI Resume Analyzer" # Optional: Database (if using) DATABASE_URL=your_database_url_here
-
Run the development server
npm run dev # or yarn dev # or pnpm dev # or bun dev
-
Open in browser Navigate to http://localhost:3000
AI-resume-analyzer-generator/
βββ π app/ # Next.js App Router
β βββ π api/ # API routes
β β βββ analyze/ # Resume analysis endpoint
β β βββ upload/ # File upload endpoint
β β βββ generate/ # Resume generation endpoint
β βββ π components/ # React components
β β βββ ui/ # Reusable UI components
β β βββ FileUpload.tsx # File upload component
β β βββ AnalysisResult.tsx # Analysis display component
β β βββ ResumeGenerator.tsx # Resume generation component
β βββ π lib/ # Utility libraries
β β βββ ai-analyzer.ts # AI analysis logic
β β βββ pdf-parser.ts # PDF processing
β β βββ resume-generator.ts # Resume generation logic
β β βββ utils.ts # Helper functions
β βββ π types/ # TypeScript type definitions
β βββ globals.css # Global styles
β βββ layout.tsx # Root layout
β βββ page.tsx # Home page
βββ π public/ # Static assets
βββ π docs/ # Documentation
βββ .env.example # Environment variables template
βββ .gitignore # Git ignore rules
βββ next.config.js # Next.js configuration
βββ package.json # Dependencies
βββ tailwind.config.js # Tailwind configuration
βββ tsconfig.json # TypeScript configuration
Analyzes uploaded resume content using AI.
Request:
{
resumeText: string;
fileName: string;
analysisType?: 'basic' | 'detailed' | 'ats';
}Response:
{
success: boolean;
analysis: {
overallScore: number; // 0-100
sections: {
contact: ScoreDetail;
summary: ScoreDetail;
experience: ScoreDetail;
education: ScoreDetail;
skills: ScoreDetail;
};
strengths: string[];
improvements: string[];
atsCompatibility: number;
keywords: string[];
suggestions: string[];
};
}Handles file uploads and text extraction.
Generates optimized resume content based on user input.
- Content Quality: Evaluates writing quality, clarity, and impact
- Structure Assessment: Analyzes resume organization and flow
- ATS Compatibility: Checks formatting for Applicant Tracking Systems
- Keyword Optimization: Suggests industry-relevant keywords
- Length Analysis: Recommends optimal resume length
- Section-by-Section Feedback: Detailed analysis of each resume section
- Industry-Specific Tips: Tailored advice based on target industry
- Skills Gap Analysis: Identifies missing skills for target roles
- Achievement Enhancement: Suggests quantifiable accomplishments
- Format Optimization: Recommendations for better visual appeal
- Custom Templates: Professional resume templates
- Content Suggestions: AI-generated content based on user input
- Skills Matching: Aligns skills with job requirements
- Experience Optimization: Enhances work experience descriptions
-
Push to GitHub
git add . git commit -m "Ready for deployment" git push origin main
-
Connect to Vercel
- Go to vercel.com
- Import your GitHub repository
- Configure environment variables
- Deploy!
-
Environment Variables on Vercel Add these in your Vercel dashboard:
OPENAI_API_KEYGEMINI_API_KEYNEXT_PUBLIC_APP_URL
Click to expand other deployment methods
npm run build
# Deploy the 'out' folder to Netlifyamplify init
amplify add hosting
amplify publishFROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build
EXPOSE 3000
CMD ["npm", "start"]- Upload Resume: Drag & drop or select your resume file
- Choose Analysis Type: Select basic, detailed, or ATS-focused analysis
- Get Results: Review comprehensive feedback and suggestions
- Implement Changes: Apply recommended improvements
- Re-analyze: Upload updated version to track progress
The app can be customized through environment variables and configuration files:
- AI Model Settings: Configure in
lib/ai-analyzer.ts - UI Themes: Modify
tailwind.config.js - API Endpoints: Customize in
app/api/directory
# Run tests
npm test
# Run tests with coverage
npm run test:coverage
# Run e2e tests
npm run test:e2eWe welcome contributions! Here's how you can help:
- Fork the repository
- Create a feature branch
git checkout -b feature/amazing-feature
- Commit your changes
git commit -m "Add some amazing feature" - Push to the branch
git push origin feature/amazing-feature
- Open a Pull Request
- β Follow TypeScript best practices
- β Use ESLint and Prettier for code formatting
- β Write tests for new features
- β Update documentation
- β Ensure responsive design
- β Follow semantic commit messages
- π Files are processed securely and not stored permanently
- π API keys are properly secured with environment variables
- π‘οΈ Input validation prevents malicious uploads
- π« No personal data is retained after analysis
This project is licensed under the MIT License. See the LICENSE file for details.
- Gemini for free api keys
- Vercel for seamless deployment
- Next.js team for the amazing framework
- Tailwind CSS for beautiful styling
- All contributors and users who provide feedback
- π Website: https://ai-resume-analyzer-generator.vercel.app
- π§ Issues: GitHub Issues
- π¬ Discussions: GitHub Discussions
- π Multi-language support
- π± Mobile app (React Native)
- π LinkedIn integration
- π Advanced analytics dashboard
- π€ Multiple AI model support
- π¨ Custom resume templates
- π Job market insights
- π Resume version control
- π₯ Team/recruiter features
- π€ Export to multiple formats
β Star this repository if it helped you!
Made with β€οΈ by Abdul Ahad