CVify is an AI-driven backend platform that analyzes resumes and generates structured interview insights. It processes PDF resumes, extracts content, and evaluates candidates using AI to produce actionable reports.
Upload a resume → Extract text → Analyze with AI → Get an interview-ready report
- Backend: Node.js, Express
- AI Integration: Gemini API
- File Upload: multer
- PDF Parsing: pdf-parse
- Validation & Schema: Zod
- Environment Management: dotenv
- 📄 Upload resumes in PDF format
- 🧾 Automatic text extraction from PDFs
- 🤖 AI-powered candidate evaluation
- 📊 Structured interview report generation
- ✅ Schema-validated AI responses (Zod)
- ⚡ Clean REST API architecture
Client
↓
Upload Route (multer)
↓
Controller Layer
↓
PDF Parsing (pdf-parse)
↓
AI Processing (Gemini)
↓
Structured Response (Zod)
↓
JSON API Response
POST /api/interview/analyze- Content-Type:
multipart/form-data - Field:
resume(PDF file) - Optional:
selfDescription
{
"matchScore": 82,
"strengths": ["Strong problem solving", "Good JS fundamentals"],
"weaknesses": ["Limited system design exposure"],
"suggestions": ["Practice backend scalability concepts"]
}- Invalid file type → rejected
- Empty or corrupted PDF → handled
- AI malformed response → schema validation fallback
- Frontend integration (React)
- Real-time feedback UI
- Multi-file support
- Advanced scoring metrics
- Authentication system
This project demonstrates:
- Real-world backend architecture
- File handling and processing
- AI integration with structured outputs
- Clean and scalable API design
CVify AI is currently under active development.
Amitava Biswas
Feel free to fork, open issues, or suggest improvements.