AI Recruiter is an AI-powered platform that helps recruiters schedule interviews and generate personalized interview questions based on the job role and description. It uses Gemini AI (Google Generative AI) to craft high-quality, role-specific questions and stores the data in MongoDB.
Frontend
- React.js
- MUI (Material UI) + Tailwind CSS
- Axios
Backend
- Node.js + Express
- MongoDB with Mongoose
- Gemini AI API (Google Generative AI)
-
π Generate custom interview questions based on:
- Job Title
- Job Description
- Interview Type (Technical, Behavioral, etc.)
- Duration
-
π€ Schedule and list interview candidates
-
π§ AI-generated questions powered by Gemini
-
πΎ Store & retrieve interviews and candidates
-
β View previously created interviews
-
π₯ Export reports (Planned)
git clone https://github.com/yourusername/ai-recruiter.git
cd ai-recruiter
2. Setup Backend
bash
Copy
Edit
cd ai-recruiter-BE
npm install
Create .env file in ai-recruiter-BE:
PORT=3000
MONGODB_URI=your_mongodb_connection_string
GEMINI_API_KEY=your_google_gemini_api_key
3. Setup Frontend
cd ../ai-recruiter-FE
npm install
β
Run the App
cd ai-recruiter-BE
npm run dev
Start Frontend
cd ai-recruiter-FE
npm start
π Folder Structure
ai-recruiter/
βββ ai-recruiter-FE/ # React frontend
β βββ components/
β βββ pages/
β βββ constants/
βββ ai-recruiter-BE/ # Express backend
β βββ Controllers/
β βββ Models/
β βββ Routes/
β βββ Services/
β βββ utils/
β οΈ Notes
This project currently supports 3 free interviews per user (limit logic to be added).
Gemini API works only with gemini-pro on free tier.
You must enable Generative Language API in Google Cloud.
β¨ Upcoming Features
β
Email notifications for scheduled interviews
π Report analytics per candidate
π§βπΌ Admin dashboard
β° Interview rescheduling logic
π¨βπ» Author
Made with β€οΈ by Hasan (@yourhandle)
Let me know if you want to include:
- Deployment instructions (Vercel / Render / Railway)
- Screenshots / demo GIFs
- API Documentation section (Swagger, Postman etc.)
I can also generate a markdown version with badges, images, or a clickable table of contents.