Skip to content

HoshMe/InterviewAI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI Interview Backend Service

This project provides a robust backend service for conducting AI-led interviews. It handles the full lifecycle of an interview, from managing a question bank and setting up sessions to collecting and scoring candidate answers using NLP. It's built with Django and Django REST Framework, with optional support for asynchronous processing (Celery) and real-time interactions (Django Channels).

Features

  • Interview Session Management:
    • Create new interview sessions for candidates, either by selecting specific questions or generating a random set.
    • Start, retrieve, advance to the next question, and mark sessions as complete.
    • Retrieve detailed results for completed sessions, including individual answer scores and an overall average.
  • Question Bank:
    • CRUD (Create, Read, Update, Delete) operations for interview questions.
    • Each question includes its text and a list of expected_keywords used for answer evaluation.
  • Answer Collection:
    • API endpoints for candidates to submit their answers to specific questions within an active session.
  • NLP Answer Scoring:
    • Implements a simple, keyword-based matching algorithm to score answers against the expected_keywords of a question. The score reflects the overlap between the candidate's answer and the expected terms.
  • Asynchronous Evaluation (Celery & Redis):
    • Offloads potentially time-consuming NLP processing to background tasks using Celery, improving API responsiveness.
  • Real-time Updates (Django Channels & WebSockets):
    • Provides live feedback on answer evaluation results and session progress to connected clients via WebSockets.

Tech Stack

  • Backend Framework: Django, Django REST Framework
  • Database: SQLite
  • Async Task Queue: Celery + Redis (optional)
  • NLP Evaluation: Simple keyword matching (extensible to spaCy / OpenAI API)
  • Real-time: Django Channels + Redis (optional)
  • Containerization: Docker, Docker Compose
  • Environment Management: django-environ
  • Web Server: Gunicorn (WSGI), Uvicorn (ASGI for Channels)
  • Testing: Pytest, pytest-django

About

A Django backend application for session based interview using AI

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors