AI Resume Toolkit is a Next.js application for analyzing resumes and generating ATS-friendly resumes with Google Gemini. It supports resume review, job-description matching, AI-assisted resume creation, and PDF export.
This project helps users:
- upload a resume in PDF or TXT format
- analyze resume quality for ATS systems
- compare a resume against a job description
- generate a new ATS-friendly resume from user details
- export resume output as PDF
- Resume analysis with ATS-style scoring
- Job description matching for role-specific feedback
- AI-generated resume content using Gemini
- PDF and TXT resume text extraction
- Resume report pages for analysis and generated output
- PDF export support for generated resumes
- Mock fallback responses when AI output is unavailable
- Next.js 16
- React 19
- TypeScript
- Tailwind CSS 4
- Google Generative AI SDK
git clone https://github.com/MuskanSingh9934/ai-resume.git
cd ai-resumenpm installCreate a .env file in the project root:
GEMINI_API_KEY=your_google_gemini_api_keyNotes:
GEMINI_API_KEYis required.- If the key is missing or the AI response cannot be parsed, the app falls back to mock responses.
- The LaTeX PDF compile route uses
https://latexonline.cc/compile, so that feature requires internet access.
npm run devOpen http://localhost:3000 in your browser.
npm run build
npm startai-resume/
├── app/
│ ├── analyze/
│ │ ├── page.tsx
│ │ └── report/page.tsx
│ ├── api/
│ │ ├── analyze/route.ts
│ │ ├── compile-latex/route.ts
│ │ ├── extract/route.ts
│ │ └── generate-resume/route.ts
│ ├── create/
│ │ ├── page.tsx
│ │ └── report/page.tsx
│ ├── globals.css
│ ├── layout.tsx
│ └── page.tsx
├── lib/
│ ├── genai.ts
│ ├── helper.ts
│ └── resume-cls.ts
├── public/
├── rules/
├── package.json
└── README.md
Main Next.js App Router code.
app/page.tsx: landing pageapp/analyze/page.tsx: resume upload and analysis formapp/analyze/report/page.tsx: analysis results pageapp/create/page.tsx: resume creation formapp/create/report/page.tsx: generated resume preview and export pageapp/api/*: backend endpoints for extraction, analysis, resume generation, and PDF compilation
Shared utility code.
lib/genai.ts: Gemini API wrapper and mock fallback datalib/helper.ts: prompt templates for analysis and resume generationlib/resume-cls.ts: LaTeX helper utilities for self-contained resume output
Static assets used by the frontend.
Project prompt and instruction files used by the app logic.
POST /api/extract: extracts text from uploaded PDF or TXT filesPOST /api/analyze: analyzes resume text and optionally compares it with a job descriptionPOST /api/generate-resume: generates resume JSON from user inputPOST /api/compile-latex: compiles LaTeX resume content to PDF through an external service
- Production builds use webpack in this project for build stability.
- PDF text extraction works best for text-based PDFs, not scanned image-only files.
- Some AI and PDF compilation features depend on external network access.