Skip to content

aman124598/JobFitAI

Repository files navigation

JobFit AI 🎯

A powerful Next.js application that uses Google's Gemini AI to analyze resumes against job descriptions and provide detailed feedback and improvement suggestions. Features a sleek black and red dark theme with stunning animations.

JobFit AI Next.js TypeScript

✨ Features

  • 🤖 AI-Powered Analysis: Powered by Google Gemini AI for intelligent resume evaluation
  • 📊 ATS Optimization: Get ATS compatibility scores and optimization tips
  • 🎯 Skills Matching: See how your skills align with job requirements
  • 📈 Visual Analytics: Beautiful charts and graphs for data visualization
  • 🔑 Keyword Analysis: Identify missing and matching keywords
  • 💡 Smart Suggestions: Personalized interview tips and improvement recommendations
  • 💳 Pro Resume Improvement (₹99): Unlock advanced improvement suggestions and action plan
  • 📁 Multi-Format Support: Upload PDF, DOC, and DOCX resume formats
  • 🧪 Dummy Job Descriptions (Free): Instantly test with your resume + built-in sample job descriptions
  • 🌙 Dark Theme: Sleek black and red design with smooth animations
  • 📱 Responsive: Works seamlessly on desktop and mobile devices
  • 📊 Vercel Analytics: Built-in analytics for tracking usage

🛠️ Tech Stack

  • Frontend: Next.js 15, React 19, TypeScript
  • Styling: Tailwind CSS, Framer Motion
  • AI: Google Generative AI (Gemini 1.5)
  • Charts: Chart.js, react-chartjs-2
  • File Processing: PDF-Parse, Mammoth.js
  • File Upload: React Dropzone
  • Analytics: Vercel Analytics

Getting Started

Prerequisites

  • Node.js 18+ and npm
  • Google AI Studio API key

Installation

  1. Clone the repository:

    git clone <repository-url>
    cd resume-analyzer
  2. Install dependencies:

    npm install
  3. Set up environment variables:

    cp .env.local.example .env.local

    Edit .env.local and add your Gemini API key:

    GEMINI_API_KEY=your_gemini_api_key_here
    
  4. Configure billing variables (for Pro mode):

    NEXT_PUBLIC_APP_URL=http://localhost:3000
    DODO_PAYMENTS_API_KEY=your_dodo_api_key
    DODO_PAYMENTS_PRODUCT_ID=your_dodo_product_id_for_99_inr
    PAYMENT_ACCESS_SIGNING_SECRET=replace_with_a_long_random_secret
    

    For local development only, you can bypass payment and force Pro access:

    DEV_FORCE_PRO_ACCESS=true
    
  5. Run the development server:

    npm run dev
  6. Open http://localhost:3000 in your browser.

Getting a Gemini API Key

  1. Visit Google AI Studio
  2. Sign in with your Google account
  3. Create a new API key
  4. Copy the key to your .env.local file

Usage

  1. Upload Resume: Click or drag and drop your resume file (PDF, DOC, or DOCX)
  2. Enter Job Description: Paste the job description in the text area
  3. Or use free dummy JDs: Pick a sample JD to test instantly
  4. Analyze: Run free analysis or unlock Pro for deeper improvements
  5. Review Results: Get AI-powered feedback and suggestions

Project Structure

src/
├── app/
│   ├── api/analyze/          # API route for resume analysis
│   ├── globals.css           # Global styles
│   ├── layout.tsx           # Root layout
│   └── page.tsx             # Main page
├── components/
│   ├── ui/                  # Reusable UI components
│   │   ├── button.tsx
│   │   ├── file-upload.tsx
│   │   ├── loading.tsx
│   │   └── textarea.tsx
│   └── analysis-results.tsx  # Results display component
└── lib/
    ├── gemini.ts            # Gemini AI integration
    ├── text-extraction.ts   # File text extraction
    └── utils.ts             # Utility functions

Environment Variables

Variable Description Required
GEMINI_API_KEY Google Gemini AI API key Yes
NEXT_PUBLIC_APP_URL Base app URL used by payment return URL Yes (for Pro)
DODO_PAYMENTS_API_KEY Dodo Payments API key Yes (for Pro)
DODO_PAYMENTS_PRODUCT_ID Dodo product ID priced at ₹99 Yes (for Pro)
PAYMENT_ACCESS_SIGNING_SECRET Secret used to sign paid-access cookie Yes (for Pro)
DEV_FORCE_PRO_ACCESS Force-enable Pro without payment in non-production only No

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

License

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

Support

If you encounter any issues or have questions:

  1. Check the existing issues
  2. Create a new issue with detailed information
  3. Include error messages and steps to reproduce

Acknowledgments

  • Google Gemini AI for powering the analysis
  • Aceternity UI for beautiful components
  • Next.js team for the amazing framework

About

A powerful Next.js application that uses Google's Gemini AI to analyze resumes against job descriptions and provide detailed feedback and improvement suggestions. Features a sleek black and red dark theme with stunning animations.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors