An open API service indexing awesome lists of open source software.

https://github.com/muhammadainurr/whatsapp-reviewer

πŸ€– Transform recruitment with AI-powered WhatsApp interviews. Automate screening, evaluate candidates, and schedule follow-ups - all through WhatsApp, powered by Groq AI. Built in Node.js πŸš€
https://github.com/muhammadainurr/whatsapp-reviewer

ai-interviewer bahasa-indonesia chatbot express google-calendar groq-ai hiring-automation hr-tools indonesia interview-bot nodejs recruitment recruitment-automation whatsapp-bot whatsapp-web-js

Last synced: about 1 month ago
JSON representation

πŸ€– Transform recruitment with AI-powered WhatsApp interviews. Automate screening, evaluate candidates, and schedule follow-ups - all through WhatsApp, powered by Groq AI. Built in Node.js πŸš€

Awesome Lists containing this project

README

        

# πŸ€– WhatsApp AI Interview Bot


WhatsApp Interview Bot Banner



Transform your recruitment process with AI-powered WhatsApp interviews

---


Features β€’
Quick Start β€’
Usage β€’
Configuration β€’
Architecture


Node.js Version
WhatsApp Ready
AI Powered
License

---

## 🌟 Overview

Transform your recruitment process with our AI-powered WhatsApp Interview Bot. Conduct initial screenings, technical assessments, and HR interviews automatically through WhatsApp, powered by advanced AI for natural conversations and intelligent candidate evaluation.

---

## ✨ Features

- πŸ€– **Natural Conversations**: AI-powered chat that feels human and engaging.
- 🎯 **Multi-stage Interviews**:
- Initial screening
- Technical assessment
- HR interview
- πŸ“Š **Smart Evaluation**: Real-time scoring and feedback.
- πŸ“… **Auto Scheduling**: Google Calendar integration for successful candidates.
- ⚑ **Quick Setup**: Up and running in minutes.
- πŸ”„ **Session Management**: Robust handling of multiple interviews.
- 🌐 **Bahasa Indonesia**: Fully supports Indonesian language.

---

## πŸš€ Quick Start

### Prerequisites

Before you start, ensure you have the following:

- Node.js >= 16.0.0
- npm or yarn
- A WhatsApp account
- Groq AI API key
- Google Calendar API credentials (optional)

### Step-by-Step Setup

1. **Clone the Repository**

```bash
git clone https://github.com/yourusername/whatsapp-interview-bot.git
cd whatsapp-interview-bot
```

2. **Install Dependencies**

```bash
npm install
```

3. **Configure Environment Variables**

```bash
cp .env.example .env
```
Edit your `.env` file with the following values:

```env
GROQ_API_KEY=your_groq_api_key
PORT=3000
```

Optional (for Google Calendar integration):

```env
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
GOOGLE_REFRESH_TOKEN=your_google_refresh_token
[email protected]
```

4. **Start the Application**

```bash
node server.js

# For development
node --watch server.js
```

5. **Connect WhatsApp**
- Scan the QR code shown in the terminal with WhatsApp

- Wait for the "WhatsApp bot is ready!" message

---

## πŸ’‘ Usage Guide

### Starting an Interview

To initiate an interview, candidates should send:

> **Hi, saya tertarik dengan posisi Operation Staff - Worldcoin Project**

### Interview Process Breakdown

1. **Registration Phase**
- Collects email address
- Requests candidate’s full name
- Validates contact info

2. **Initial Screening**
- Experience assessment
- Availability check
- Basic qualifications

3. **Technical Assessment**
- Product knowledge evaluation
- Process understanding
- Technical capabilities

4. **HR Interview**
- Soft skills evaluation
- Cultural fit
- Work style analysis

5. **Q&A Opportunities**
- Interactions between stages for questions on:
- Company overview
- Role clarification

### Evaluation System

Candidates are scored on:

- **Response relevance** (1-10)
- **Communication clarity** (1-10)
- **Technical understanding** (1-10)
- **Overall fit** (1-10)

---

## βš™οΈ Advanced Configuration

### Customizing Interview Stages

You can customize your interview stages by modifying the `interview.js` file:

```javascript
// src/config/interview.js
const STAGES = {
initial: {
questions: [
"Apakah Anda memiliki pengalaman sebelumnya sebagai sales promoter?",
"Apakah Anda bersedia bekerja dalam shift 12 jam?",
// Add more questions
],
agent: 'recruiter'
},
technical: {
questions: [
"Apa yang Anda ketahui tentang Worldcoin?",
// Add more questions
],
agent: 'technicalExpert'
}
};
```

### AI Agent Personalities

Define your AI personality in the `agents.js` file:

```javascript
const AGENTS = {
recruiter: {
name: "Recruiter Sarah",
role: "HR Recruiter",
systemPrompt: "You are Sarah, a friendly and professional HR recruiter. Your goal is to make candidates comfortable while evaluating their potential. Communicate in Bahasa Indonesia with a warm, encouraging tone."
}
};
```

### Company Information

Add your company’s details to the `company.js` file:

```javascript
const COMPANY = {
industry: "Technology & Digital Identity Services",
headquarters: "South Tangerang, Banten, Indonesia",
overview: "Your company overview here",
// Add more company details
};
```

---

## πŸ”§ Maintenance

### Session Management

The bot automatically manages interview sessions:

- 30-minute timeout for inactive sessions
- Automatic cleanup of expired sessions
- Robust error handling

### Error Handling

The bot handles common scenarios, such as:

- Network interruptions
- Invalid responses
- Timeout management
- API failures

### Monitoring

Monitor your bot's performance:

- Console logs for important events
- Error tracking
- Session statistics

---

## πŸ›‘οΈ Security Best Practices

1. **Data Protection**
- No permanent storage of candidate data
- End-to-end encrypted WhatsApp messages
- Secure credential management

2. **Session Security**
- Memory-based session storage
- Automatic session expiration
- Secure state management

3. **API Security**
- Rate limiting
- Input validation
- Secure environment variables

---

## πŸ” Troubleshooting

### Common Issues

1. **QR Code Scanning Failed**

```bash
# Clear WhatsApp session
rm -rf .wwebjs_auth
# Restart the application
npm start
```

2. **Bot Not Responding**
- Check internet connection
- Verify WhatsApp connection
- Check API key validity

3. **Calendar Integration Issues**
- Verify Google Calendar credentials
- Check timezone settings
- Validate email configurations

---

## 🀝 Contributing

We welcome contributions! Here's how you can help:

1. **Fork the Repository**
2. **Create a Feature Branch**

```bash
git checkout -b feature/AmazingFeature
```

3. **Commit Changes**

```bash
git commit -m 'Add some AmazingFeature'
```

4. **Push to Branch**

```bash
git push origin feature/AmazingFeature
```

5. **Open a Pull Request**

---

## πŸ“ License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

---

## πŸ™ Acknowledgments

- [WhatsApp Web.js](https://wwebjs.dev/) for WhatsApp integration
- [Groq AI](https://groq.com/) for natural language processing
- [Google Calendar API](https://developers.google.com/calendar) for scheduling

---


Made by Rofiq


Empowering better recruitment through technology