alex-kalh / tranthethang@gmail.com

Silent midnight hum.Code runs — bug hides in plain sight.

Meet HireBot AI API: Supercharging Your Technical Interviews with AI

Finding the right developer talent can be tough. Crafting unique and relevant technical interview questions for every role and candidate takes time and effort. What if you could automate and enhance this process with the power of AI? Say hello to HireBot AI API!

HireBot AI API is the backend powerhouse designed to generate, store, and manage AI-powered technical interview quizzes for developer candidates. Built with a modern stack including Node.js (v18+), Express (v5.1.0), MongoDB (v6.16.0) for data storage, and Redis for job queue management, it’s a comprehensive solution for streamlining your technical hiring workflow. It also supports containerized deployment with Docker and Nginx. Let's dive into what makes HireBot AI API a game-changer.

HireBot AI API

What's Under the Hood?

At its core, HireBot AI API leverages Google's Gemini AI to create high-quality interview questions tailored to your needs. The system isn't just about questions; it supports various question formats, candidate management, and even assessment instruments for a well-rounded evaluation process.

Key Features That Shine:

  • AI-Powered Question Generation: Get unique technical interview questions on demand.
  • Comprehensive Management: Easily handle candidates, their submissions, and assessment instruments.
  • Flexible & Searchable: Find what you need quickly with robust search and filtering capabilities.
  • Secure: Features OAuth2 authentication and authorization for secure access.
  • Developer-Friendly: Ready for containerized deployment with Docker and comes with extensive API documentation using Swagger.
  • Plays Well with Others: Designed with a modular, layered architecture that includes an API Gateway (Nginx), an Express.js server, and distinct service, repository, and data layers (MongoDB, Redis).

How Does the Magic Happen? The Question Generation Flow

Curious about how those AI-generated questions come to life? Here’s a simplified look:

  1. A request to generate questions for specific topics, positions, and languages kicks things off. This can be done via an API endpoint: POST /api/questions/generate or a CLI command: npm run generate-questions.
  2. This request is then added to a job queue managed by Redis, allowing the system to handle it asynchronously in the background.
  3. A specialized prompt is carefully constructed, taking into account all the requested parameters, including topic details, position context, and even examples of good questions.
  4. This detailed prompt is sent to Google's Gemini AI model.
  5. The AI's response is then processed. This involves extracting the JSON data, validating its schema and content for quality and relevance, checking for duplicates against existing questions, and finally storing the shiny new questions in MongoDB.

Generated questions come in a standardized JSON format, including the question itself, difficulty, answer, explanation, code snippets (if any), topics, and other metadata.

More Than Just Questions

HireBot AI API offers a rich set of API endpoints to manage various aspects of the hiring process:

  • Core Entities: Full CRUD (Create, Read, Update, Delete) operations for Questions, Topics, Positions, and Languages.
  • People Management: Endpoints for managing Users and Candidates.
  • Assessments: Capabilities to handle Submissions, assessment Instruments, Instrument Tags, Logic Questions, and Logic Tags.
  • System Health & Auth: Includes a health check endpoint (GET /health-check) and OAuth endpoints (POST /oauth/token, POST /oauth/authorize) for authentication.

Most of these API endpoints require authentication. The API supports pagination and filtering, making it easy to work with large datasets.

Getting Started and Contributing

For those eager to jump in, the Installation Guide provides step-by-step instructions, covering prerequisites (Node.js, MongoDB, Redis), setup, environment configuration, and how to get your Gemini API key. The project also offers detailed documentation on its architecture, API reference, authentication flow, and much more.

Developers will appreciate the Development Guide, which outlines setting up a local environment (Node.js, MongoDB, Redis), coding standards, testing procedures, and the Git workflow. If you're looking to deploy, there are options for Docker Compose, manual setups, and cloud environments like AWS, Google Cloud, or Azure. Docker Compose is recommended for most deployments.

Contributions are welcome! If you're interested in improving HireBot AI API, be sure to check out the development guidelines.

HireBot AI API aims to make technical interviewing more efficient and effective. By combining smart AI with a robust set of management tools, it's poised to become an invaluable asset in your hiring toolkit.