Skip to content

An intelligent automated interview scheduling system that uses AI-powered phone calls to schedule interviews with candidates. The system integrates with Twilio for voice calls, MongoDB for data storage, and email services for confirmations.

Notifications You must be signed in to change notification settings

muhammadnavas/AI_Interview_Caller

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 

Repository files navigation

AI Interview Scheduler

An intelligent automated interview scheduling system that uses AI-powered phone calls to schedule interviews with candidates. The system integrates with Twilio for voice calls, MongoDB for data storage, and email services for confirmations.

🚀 Features

  • AI-Powered Voice Calls: Automated phone calls using Twilio and OpenAI
  • Intelligent Conversation Flow: Natural language processing for scheduling
  • MongoDB Integration: Complete candidate and call tracking
  • Email Confirmations: Automated interview confirmation emails via Resend/SendGrid
  • Real-time Analytics: Comprehensive call and scheduling analytics
  • Retry Logic: Smart retry mechanism for failed calls
  • Dashboard UI: Frontend interface for managing candidates and interviews

🏗️ Architecture

┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   Frontend      │    │   Backend       │    │   External      │
│   (Next.js)     │    │   (FastAPI)     │    │   Services      │
├─────────────────┤    ├─────────────────┤    ├─────────────────┤
│ • Dashboard     │◄──►│ • API Endpoints │◄──►│ • Twilio Voice  │
│ • Candidate Mgmt│    │ • AI Logic      │    │ • OpenAI GPT    │
│ • Analytics     │    │ • Webhooks      │    │ • MongoDB Atlas │
│ • Call Logs     │    │ • Email Service │    │ • Resend/SendGrid│
└─────────────────┘    └─────────────────┘    └─────────────────┘

📋 Prerequisites

  • Python 3.8+
  • Node.js 16+ (for frontend)
  • MongoDB Atlas account
  • Twilio account with phone number
  • Resend or SendGrid account for emails
  • OpenAI API key

🛠️ Installation

Backend Setup

  1. Clone the repository

    git clone https://github.com/muhammadnavas/AI_Interview_Caller.git
    cd AI_Interview_Caller/backend
  2. Create virtual environment

    python -m venv venv
    # Windows
    venv\Scripts\activate
    # Linux/Mac
    source venv/bin/activate
  3. Install dependencies

    pip install -r requirements.txt
  4. Environment Setup Create a .env file in the backend directory:

    # Email Configuration
    SMTP_SERVER=smtp.gmail.com
    SMTP_PORT=587
    SMTP_USERNAME=your_email@gmail.com
    SMTP_PASSWORD=your_app_password
    SENDER_EMAIL=your_email@gmail.com
    
    # Email Providers (HTTP APIs - Primary)
    EMAIL_USER=your_email@gmail.com
    EMAIL_PASS=your_app_password
    RESEND_API_KEY=re_your_resend_api_key
    SENDGRID_API_KEY=SG.your_sendgrid_api_key
    
    # AI Configuration
    GEMINI_API_KEY=your_gemini_api_key
    OPENAI_API_KEY=sk-your_openai_api_key
    
    # Twilio Configuration
    TWILIO_ACCOUNT_SID=ACyour_account_sid
    TWILIO_AUTH_TOKEN=your_auth_token
    TWILIO_PHONE_NUMBER=+1234567890
    
    # Webhook URL (for deployment)
    WEBHOOK_BASE_URL=https://your-app.onrender.com
    
    # MongoDB Configuration
    MONGODB_URI=mongodb+srv://username:password@cluster.mongodb.net/?retryWrites=true&w=majority
    MONGODB_DB=test
    MONGODB_COLLECTION=shortlistedcandidates
  5. Run the application

    uvicorn main:app --host 0.0.0.0 --port 8000 --reload

Frontend Setup

  1. Navigate to frontend directory

    cd ../frontend
  2. Install dependencies

    npm install
  3. Run the development server

    npm run dev

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

🆘 Support

For issues and questions:

  • Create an issue on GitHub
  • Check the troubleshooting section
  • Review the API documentation

🔮 Future Enhancements

  • Multi-language support
  • Advanced analytics dashboard
  • Integration with calendar systems
  • SMS notifications
  • Video interview scheduling
  • Candidate feedback collection
  • Advanced AI conversation training

Built with ❤️ for efficient interview scheduling automation.

About

An intelligent automated interview scheduling system that uses AI-powered phone calls to schedule interviews with candidates. The system integrates with Twilio for voice calls, MongoDB for data storage, and email services for confirmations.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published