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.
- 🤖 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
- 📁 Multi-Format Support: Upload PDF, DOC, and DOCX resume formats
- 🌙 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
- 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
- Node.js 18+ and npm
- Google AI Studio API key
-
Clone the repository:
git clone <repository-url> cd resume-analyzer
-
Install dependencies:
npm install
-
Set up environment variables:
cp .env.local.example .env.local
Edit
.env.localand add your Gemini API key:GEMINI_API_KEY=your_gemini_api_key_here -
Run the development server:
npm run dev
-
Open http://localhost:3000 in your browser.
- Visit Google AI Studio
- Sign in with your Google account
- Create a new API key
- Copy the key to your
.env.localfile
- Upload Resume: Click or drag and drop your resume file (PDF, DOC, or DOCX)
- Enter Job Description: Paste the job description in the text area
- Analyze: Click the "Analyze Resume" button
- Review Results: Get detailed AI-powered feedback and suggestions
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
| Variable | Description | Required |
|---|---|---|
GEMINI_API_KEY |
Google Gemini AI API key | Yes |
- 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.
If you encounter any issues or have questions:
- Check the existing issues
- Create a new issue with detailed information
- Include error messages and steps to reproduce
- Google Gemini AI for powering the analysis
- Aceternity UI for beautiful components
- Next.js team for the amazing framework