Transform your interviewing journey with AI-powered mock interviews
HireAbility is an intelligent mock interview platform that leverages AI to provide realistic, personalized interview practice sessions. The platform conducts live AI-led interviews using audio and video, evaluates communication skills, technical accuracy, and confidence levels.
-
🎤 Real-time AI Interviews Live voice and video interviews powered by VAPI, dynamically asking resume-based, role-specific, and company-specific questions.
-
🤖 Intelligent Evaluation Google Gemini analyzes your responses, voice patterns (clarity, pace, confidence), and facial expressions to assess communication and professional demeanor.
-
📊 Comprehensive Analytics Parameter-wise scores, strengths, weaknesses, and targeted improvement insights.
-
📄 Resume-Aware System Upload your resume for tailored questioning and AI-driven resume optimization.
-
🎯 Personalized Experience Fully customized interview flow based on your chosen role, company, and experience level.
Frontend (Next.js) → REST API → Backend (Express.js) → AI Agents (Gemini) → PostgreSQL
↓
VAPI (WebSocket)
Frontend: Next.js 16, React 19, TypeScript, Tailwind CSS, VAPI Web SDK
Backend: Express.js, TypeScript, Prisma ORM, PostgreSQL, JWT
AI: Google Gemini 1.5 Pro/Flash, VAPI Voice API
- Node.js 18+, PostgreSQL 14+
- Google Gemini API Key
- VAPI API Key and Assistant ID
Backend (be_hireability/.env):
DATABASE_URL="postgresql://user:password@localhost:5432/hireability"
JWT_SECRET="your-secret-key"
GEMINI_API_KEY="your-gemini-api-key"
MODEL_NAME="gemini-1.5-pro"
PORT=3001Frontend (fe_hireability/.env.local):
NEXT_PUBLIC_API_URL=http://localhost:3001
NEXT_PUBLIC_VAPI_ASSISTANT_ID=your-vapi-assistant-id# Clone repository
git clone <repository-url>
cd hireability
# Setup Backend
cd be_hireability
npm install
npx prisma generate
npx prisma migrate dev
npm run dev
# Setup Frontend (new terminal)
cd fe_hireability
npm install
npm run devAccess: Frontend: http://localhost:3000 | Backend: http://localhost:3001
Base URL: http://localhost:3001/api
POST /api/auth/register- Register userPOST /api/auth/login- Login userGET /api/auth/me- Get current user
POST /api/interviews- Start interviewGET /api/interviews- Get all interviewsGET /api/interviews/:id- Get interview detailsPOST /api/interviews/:id/analyze- Analyze transcriptGET /api/interviews/stats- Get statistics
POST /api/transcripts- Save transcriptPOST /api/documents- Upload resumeGET /api/profile- Get/Update profile
Authentication: Include Authorization: Bearer <token> header
POST /api/interviews
Authorization: Bearer <token>
Content-Type: application/json
{
"assistantId": "vapi-assistant-id",
"contextPrompt": "Interview for Software Engineer at Google"
}- User starts interview → System creates session
- VAPI connects → Real-time voice conversation
- Transcript saved → Conversation stored
- AI Analysis → Gemini analyzes across 6 dimensions:
- Technical Skills (20%)
- Problem Solving (20%)
- Role Knowledge (20%)
- Experience (15%)
- Communication (15%)
- Professional Demeanor (10%)
- Feedback Generated → Scores, strengths, weaknesses, improvements
{
"technical": {
"score": 8.5,
"strengths": ["Strong system design knowledge"],
"weaknesses": ["Could improve trade-off discussions"],
"improvements": ["Practice explaining trade-offs"]
},
"overall": {
"score": 7.8,
"summary": "Solid performance with good technical skills"
}
}hireability/
├── be_hireability/ # Backend (Express.js)
│ ├── src/
│ │ ├── agents/ # AI agents
│ │ ├── controllers/
│ │ ├── services/
│ │ └── routes/
│ └── prisma/ # Database schema
│
└── fe_hireability/ # Frontend (Next.js)
├── app/ # Pages
├── components/ # React components
└── lib/ # Utilities
Backend: express, @prisma/client, @google/genai, jsonwebtoken, bcryptjs
Frontend: next, react, @vapi-ai/web, face-api.js, framer-motion
See package.json files for complete lists.
Backend:
npm run build
npx prisma migrate deploy
npm startFrontend:
npm run build
npm startRecommended: Backend (Render/Railway), Frontend (Vercel/Netlify), Database (Supabase/Neon)
Completed (60-80%):
- ✅ Core AI interview analysis
- ✅ Real-time VAPI interviews
- ✅ Transcript processing
- ✅ Multi-dimensional feedback
- ✅ User auth & profiles
- ✅ Resume review
In Progress:
- 🔄 Enhanced analytics
- 🔄 Real-time feedback
- shaunakc11 - Shaunak Choudhury
- 0xPixelNinja - Rakesh Kumar Rabhi
- gaghackz - Karanam Gagan Deep
- pranjal-kumar-0 - Pranjal Kumar
MIT License
Built for IIT Bombay Hackathon 2025