Skip to content

Industry-grade backend AI platform for resume intelligence, mock interviews, and job-description-based interview preparation.

Notifications You must be signed in to change notification settings

AbdulRahman-04/HireReady-AI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 

Repository files navigation

🚀 HireReady AI

AI-Powered Mock Interview & Resume Intelligence (Backend-Only Project)

HireReady AI is a backend-only, real-world AI interview preparation system built to replicate how modern interview platforms actually work behind the scenes. Instead of focusing on UI or payments, this project is intentionally designed to go deep into backend engineering, AI logic, and system design.

The goal of HireReady AI is simple:
help job seekers prepare better, faster, and more realistically for interviews.

It does this by:

  • Analyzing resumes to identify skills, strengths, and missing areas
  • Conducting resume-based and role-based mock interviews
  • Generating dynamic, AI-driven interview questions
  • Evaluating answers with clear reasoning, scoring, and feedback
  • Creating skill heatmaps and improvement suggestions
  • Analyzing Job Descriptions (JDs) to align preparation with actual job requirements

This project is built as a pure backend system to closely mirror industry-grade AI backends, with a strong emphasis on:

  • Clean and scalable API design
  • Authentication and role-based access control
  • AI prompt engineering with structured JSON responses
  • Multi-database architecture (PostgreSQL for auth, MongoDB for AI data)
  • Redis-based caching and rate limiting
  • Maintainable folder structure and production-ready practices

HireReady AI serves as a portfolio-level backend project that demonstrates how AI-powered platforms are architected internally — focusing on logic, data flow, performance, and scalability, not surface-level features.


🧱 TECH STACK

Backend

  • Go (Golang)
  • Gin Framework
  • PostgreSQL – Users, Auth, Roles
  • MongoDB – AI Data, Interviews, Resume Analysis
  • Redis – Caching & Rate Limiting
  • JWT – Access & Refresh Tokens
  • OAuth 2.0 – Google & GitHub

AI

  • Groq API (LLM inference)
  • Strict JSON-only prompt engineering

✨ CORE FEATURES

Authentication & Roles

  • Email + Password Signup / Login
  • Phone OTP Authentication
  • Email Verification
  • Google OAuth (User & Admin)
  • GitHub OAuth (Users & Admin)
  • JWT Access Tokens
  • Refresh Tokens
  • Forgot / Reset Password
  • Role-based access (User / Admin)

AI Features

  • Resume Analysis (skills, strengths, gaps)
  • Resume-Based Mock Interviews
  • Role-Based Mock Interviews
  • Job Description (JD) Analysis
  • Adaptive AI Question Generation
  • Per-answer AI Evaluation
  • Final Interview Summary & Score
  • Skill Heatmaps
  • Interview History Tracking

Interview Flow

  1. User starts interview (resume-based or role-based)
  2. AI generates questions dynamically
  3. User submits answers
  4. AI evaluates each answer
  5. Final feedback & score generated

Performance & Backend Discipline

  • Redis caching for AI-heavy APIs
  • Rate limiting per user
  • Structured logging
  • Clean separation of concerns
  • Scalable folder architecture

📁 Project Structure

HireReady-AI/
├── server/
│   ├── cmd/
│   │   └── main.go
│   ├── internal/
│   │   ├── config/
│   │   │   └── config.go
│   │   ├── controllers/
│   │   │   ├── auth/
│   │   │   │   ├── github_auth.go
│   │   │   │   └── google_auth.go
│   │   │   ├── private/
│   │   │   │   ├── ai_interview.go
│   │   │   │   ├── ai_resume.go
│   │   │   │   ├── resume_upload.go
│   │   │   │   ├── jd_analysis.go
│   │   │   │   └── users.go
│   │   │   ├── public/
│   │   │   │   ├── admins.go
│   │   │   │   └── users.go
│   │   │   └── interview/
│   │   │       ├── start.go
│   │   │       ├── question.go
│   │   │       └── submit.go
│   │   ├── middleware/
│   │   │   ├── auth.go
│   │   │   ├── logger.go
│   │   │   ├── rate_limit.go
│   │   │   └── rbac.go
│   │   ├── models/
│   │   │   ├── admin.go
│   │   │   ├── user.go
│   │   │   ├── resume.go
│   │   │   ├── interview_session.go
│   │   │   ├── jd_analysis.go
│   │   │   └── resume_analysis.go
│   │   ├── routes/
│   │   │   ├── public.go
│   │   │   └── private.go
│   │   ├── utils/
│   │   │   ├── mongo.go
│   │   │   ├── postgres.go
│   │   │   ├── redis.go
│   │   │   ├── jwt.go
│   │   │   ├── ai.go
│   │   │   ├── mail.go
│   │   │   └── file_upload.go
│   │   └── logs/
│   │       └── app.log
│   ├── .env
│   ├── .gitignore
│   ├── go.mod
│   ├── go.sum
│   └── README.md
└── notes.txt


---
```env
APP_NAME=HireReady_AI
PORT=8080
BASE_URL=http://localhost:8080

POSTGRES_URL=YOUR_POSTGRES_CONNECTION_URL
MONGO_URI=YOUR_MONGODB_CONNECTION_STRING

JWT_SECRET=your_access_secret
JWT_REFRESH_SECRET=your_refresh_secret

REDIS_HOST=localhost:6379
REDIS_PASS=
REDIS_DB=0

GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=

GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=

GROQ_API_KEY=

---

## 🚀 CLONE & RUN LOCALLY

### Clone Repository
```bash
git clone https://github.com/your-username/HireReady-AI.git
cd HireReady-AI/server

Install Dependencies
go mod tidy

Run Server
go run cmd/main.go


Server runs on:

http://localhost:8080

🧪 API EXAMPLE
Start Interview
POST /api/interview/start
{
  "mode": "resume_based",
  "job_role": "Backend Developer",
  "resume_id": "64f9c1abc123"
}

Submit Answer
POST /api/interview/answer
{
  "interview_id": "abc123",
  "answer": "I built scalable APIs using Go and Gin."
}

🔐 ROLE MATRIX
Role	Capabilities
User	Interviews, Resume Analysis
Admin	Full system control
📜 LICENSE

MIT License

👨‍💻 AUTHOR

Syed Abdul Rahman
Backend Engineer (Go + Gin + MongoDB + PostgreSQL)

HireReady AI — Backend first. Performance always.
## 📁 COMPLETE PROJECT STRUCTURE

About

Industry-grade backend AI platform for resume intelligence, mock interviews, and job-description-based interview preparation.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages