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.
- 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
- Groq API (LLM inference)
- Strict JSON-only prompt engineering
- 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)
- 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
- User starts interview (resume-based or role-based)
- AI generates questions dynamically
- User submits answers
- AI evaluates each answer
- Final feedback & score generated
- Redis caching for AI-heavy APIs
- Rate limiting per user
- Structured logging
- Clean separation of concerns
- Scalable folder architecture
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