Goal: Build a modern AI-powered Recruitment SaaS Platform that streamlines the end-to-end hiring process — from job posting and candidate applications to interview scheduling, resume insights, and hiring pipelines.
AIVA Recruitment Platform is a modern, full-stack SaaS solution designed to transform the hiring process for both recruiters and candidates. It simplifies job posting, candidate management, interview scheduling, and hiring workflows while delivering actionable insights through analytics.
Built with a React.js frontend and Node.js/Express + MySQL backend, AIVA offers a seamless experience with role-based access. Recruiters can post jobs, track applicants, manage hiring pipelines, and schedule interviews. They also gain access to an analytics dashboard featuring bar and pie charts for job postings, candidate distribution, and application stages, enabling data-driven decision-making.
For candidates, AIVA provides an intuitive dashboard to browse and apply for jobs, track application statuses, and view interview schedules. Candidates can upload resumes and leverage the platform’s AI-powered Resume Insights, which compare their resumes against job descriptions using Google’s Generative AI (Gemini). The system highlights skill gaps, suggests optimizations, and generates a downloadable PDF report with personalized recommendations, empowering candidates to align their profiles with recruiter expectations.
Key features include real-time dashboards, recruitment pipeline management, drag-and-drop resume uploads, AI-based resume analysis, and responsive UI/UX built with Tailwind CSS and modern design libraries. With its integrated workflows and smart insights, AIVA makes recruitment more efficient, transparent, and effective for both recruiters and job seekers.
The platform key features:
- Role-based access (Recruiter / Candidate)
- Job postings and applications
- Candidate pipeline management
- Interview scheduling system
- Resume insights with AI-powered optimization (Google Gemini API)
- Analytics dashboards for data-driven hiring decisions
Input:
- Recruiter: Job details, candidate stages, interview slots
- Candidate: Resume (PDF), profile info, job applications
Output:
- Job listings, application tracking, and interview schedules
- AI-enhanced resume feedback with downloadable PDF reports
- Analytics dashboards for recruiters
graph TD;
A[Recruiter Posts Job] --> B[Candidates Apply + Upload Resume];
B --> C[AI Resume Insights: Compare Resume vs Job Description];
C --> D[Candidate Pipeline: Screening → Interview → Offer → Hired];
D --> E[Interview Scheduling + Resume Management];
E --> F[Analytics Dashboard: Jobs, Candidates, Stages, Stats];
- Register/Login as recruiter
- Post new jobs with title, description, salary, and location
- Manage jobs and view applicants
- Track candidates through pipeline stages (Sourced → Screening → Interview → Offer → Hired)
- Schedule/manage interviews and avoid overlaps
- Access analytics with bar/pie charts for hiring insights
- Register/Login as candidate
- Dashboard: View applied jobs, upcoming interviews, and stats
- Browse & apply to jobs
- Upload/manage resumes with AI-based optimization
- View interview schedules with recruiter details
- Download AI resume review reports
- Upload resume for a specific job
- AI analyzes resume vs job description (using Google Generative AI)
- Highlights missing skills, keyword gaps, and improvement suggestions
- Generates downloadable PDF report with actionable feedback
| Purpose | Tool / Library |
|---|---|
| Frontend | React.js, Tailwind CSS, React Router, Axios, Lucide Icons, Chart.js, Recharts |
| Backend | Node.js, Express.js, MySQL (mysql2), JWT, CORS, dotenv |
| Resume Analysis | Google Generative AI (Gemini), PDF.js, jsPDF |
| File Uploads | React Dropzone, Express static file serving |
| UI Enhancements | SweetAlert2, Responsive Cards, Animate Pulse |
| Dev Tools | Postman, GitHub |
.
├── client/ # React frontend
│ ├── src/
│ └── public/
├── server/ # Node.js backend
│ ├── routes/
│ ├── models/
│ ├── controllers/
│ └── public/resume_recommendations/
├── database/ # MySQL schemas & migrations
├── assets/ # Screenshots, diagrams
├── docs/ # Project documentation
├── README.md
└── package.json- Recruiter Dashboard → Jobs, Candidates, Pipeline
- Candidate Dashboard → Job Applications, Interview Schedules
- Resume Insights → Upload, AI Suggestions, PDF Export
git clone https://github.com/yourusername/aiva-recruitment-platform.git
cd aiva-recruitment-platformFrontend:
cd client
npm installBackend:
cd server
npm install- Create
.envinserver/with DB credentials and JWT secret - Setup MySQL schema from
/database/
Backend:
cd server
npm startFrontend:
cd client
npm run devThis template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
Currently, two official plugins are available:
- @vitejs/plugin-react uses Babel for Fast Refresh
- @vitejs/plugin-react-swc uses SWC for Fast Refresh
If you are developing a production application, we recommend using TypeScript with type-aware lint rules enabled. Check out the TS template for information on how to integrate TypeScript and typescript-eslint in your project.
📧 irapadole2004@gmail.com 🔗 LinkedIn • Portfolio