Skip to content

About

AI-powered resume analyzer and generator built with Next.js 14 + TypeScript. Features intelligent resume analysis, improvement suggestions, and automated generation using advanced machine learning algorithms.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

Β 

History

14 Commits

Folders and files

Repository files navigation

πŸš€ AI Resume Analyzer & Generator

AI Resume Analyzer Next.js TypeScript Tailwind CSS

Transform your resume with AI-powered insights and analysis

🌐 Live Demo β€’ πŸ“– Documentation β€’ 🀝 Contributing β€’ πŸ› Issues


🎯 Overview

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.

✨ Key Features

πŸ” 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

πŸ› οΈ Tech Stack

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

πŸš€ Quick Start

Prerequisites

  • Node.js (v18.0.0 or higher)
  • npm or yarn or pnpm or bun
  • Git

Installation

  1. Clone the repository

    git clone https://github.com/abdulahad-2/AI-resume-analyzer-generator.git
    cd AI-resume-analyzer-generator
  2. Install dependencies

    npm install
    # or
    yarn install
    # or
    pnpm install
    # or
    bun install
  3. 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
  4. Run the development server

    npm run dev
    # or
    yarn dev
    # or
    pnpm dev
    # or
    bun dev
  5. Open in browser Navigate to http://localhost:3000

πŸ“ Project Structure

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

πŸ”§ API Endpoints

POST /api/analyze

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[];
  };
}

POST /api/upload

Handles file uploads and text extraction.

POST /api/generate

Generates optimized resume content based on user input.

🎨 Features in Detail

πŸ“Š Comprehensive Analysis

  • 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

πŸ” Smart Recommendations

  • 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

🎯 AI-Powered Generation

  • 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

πŸš€ Deployment

Deploy on Vercel (Recommended)

  1. Push to GitHub

    git add .
    git commit -m "Ready for deployment"
    git push origin main
  2. Connect to Vercel

    • Go to vercel.com
    • Import your GitHub repository
    • Configure environment variables
    • Deploy!
  3. Environment Variables on Vercel Add these in your Vercel dashboard:

    • OPENAI_API_KEY
    • GEMINI_API_KEY
    • NEXT_PUBLIC_APP_URL

Alternative Deployment Options

Click to expand other deployment methods

Netlify

npm run build
# Deploy the 'out' folder to Netlify

AWS Amplify

amplify init
amplify add hosting
amplify publish

Docker

FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build
EXPOSE 3000
CMD ["npm", "start"]

πŸ“š Documentation

Usage Guide

  1. Upload Resume: Drag & drop or select your resume file
  2. Choose Analysis Type: Select basic, detailed, or ATS-focused analysis
  3. Get Results: Review comprehensive feedback and suggestions
  4. Implement Changes: Apply recommended improvements
  5. Re-analyze: Upload updated version to track progress

Configuration

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

πŸ§ͺ Testing

# Run tests
npm test

# Run tests with coverage
npm run test:coverage

# Run e2e tests
npm run test:e2e

🀝 Contributing

We welcome contributions! Here's how you can help:

  1. Fork the repository
  2. Create a feature branch
    git checkout -b feature/amazing-feature
  3. Commit your changes
    git commit -m "Add some amazing feature"
  4. Push to the branch
    git push origin feature/amazing-feature
  5. Open a Pull Request

Development Guidelines

  • βœ… 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

πŸ›‘οΈ Security & Privacy

  • πŸ”’ 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

πŸ“ License

This project is licensed under the MIT License. See the LICENSE file for details.

πŸ™ Acknowledgments

  • 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

πŸ“ž Support & Contact

πŸ—ΊοΈ Roadmap

  • 🌍 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

About

AI-powered resume analyzer and generator built with Next.js 14 + TypeScript. Features intelligent resume analysis, improvement suggestions, and automated generation using advanced machine learning algorithms.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages