Resume-AI is an AI-powered resume analyzer built with Next.js and Google Gemini API, which evaluates resumes based on ATS (Applicant Tracking System) standards. It extracts the resume content from PDFs, converts them into images via Cloudinary, and then generates smart suggestions and scores using Gemini's LLM.
- 📄 PDF to Image Conversion using Cloudinary
- 🧠 Resume Analysis with Gemini API (Google Generative AI)
- 📊 ATS Score Calculation with improvement suggestions
- 🔍 Job-based Matching using job title input
- 🌙 Responsive Dark Mode UI with Tailwind CSS
- ⚙️ Built with Next.js App Router, TypeScript, and ShadCN UI
- Frontend: Next.js 14, TypeScript, Tailwind CSS, ShadCN UI
- AI Integration: Google Gemini API
- Media Handling: Cloudinary (PDF to JPG conversion)
- Deployment: Vercel
```bash git clone https://github.com/sachinggsingh/Resume-AI.git cd Resume-AI ```
```bash npm install
yarn ```
Create a .env.local file in the root directory:
```env CLOUDINARY_CLOUD_NAME=your_cloud_name CLOUDINARY_API_KEY=your_api_key CLOUDINARY_API_SECRET=your_api_secret GEMINI_API_KEY=your_google_generative_ai_key ```
```bash npm run dev
yarn dev ```
Open http://localhost:3000 in your browser.
- Upload Resume (PDF): Users upload their resume.
- Cloudinary Conversion: Resume is converted to a JPG (1st page only).
- Gemini Prompting: Image and job title are sent to the Gemini API.
- AI Response: Gemini returns ATS score, recommendations, and keyword analysis.
- UI Rendering: Summary and ATS insights are rendered dynamically.
```bash /app ├── api/summary # API Route to communicate with Gemini ├── components/ # UI Components ├── lib/ # Utility functions └── page.tsx # Main Upload and Summary UI ```
<<<<<<< HEAD Check out our Next.js deployment documentation for more details.
Create a .env.local file in the root directory with the following variables:
# Database
MONGODB_URI=your_mongodb_connection_string
# NextAuth
NEXT_AUTH_SECRET=your_nextauth_secret_key
NEXTAUTH_URL=http://localhost:3000
# Google OAuth
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
# Cloudinary
NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME=your_cloudinary_cloud_name
CLOUDINARY_API_KEY=your_cloudinary_api_key
CLOUDINARY_API_SECRET=your_cloudinary_api_secret
# Gemini AI
GEMINI_API_KEY=your_gemini_api_keyTo enable Google OAuth authentication:
- Go to the Google Cloud Console
- Create a new project or select an existing one
- Enable the Google+ API
- Go to "Credentials" and create an OAuth 2.0 Client ID
- Set the authorized redirect URI to:
http://localhost:3000/api/auth/callback/google - Copy the Client ID and Client Secret to your
.env.localfile =======
"You are an ATS evaluator. Analyze this resume for the role of ‘Frontend Developer’. Return structured JSON with fields: atsScore, recommendations, keywordAnalysis, and overallAssessment."
You can deploy this project instantly on Vercel:
Built by Sachin Singh
📧 sachingajendrasingh@gmail.com
If you like this project, consider starring it on GitHub — it helps others discover it too!
2c994089cc64ff659dbca60fb4c082a84d7dac86
