Skip to content

Marwakhot/Orion

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SPACE42 HR Agent 🚀

An AI-powered HR management system for SPACE42's recruitment, hiring, and employee onboarding processes.


✨ Key Features

For Candidates

  • Smart Job Matching — AI analyzes your CV and shows skill compatibility for each role
  • One-Click Apply — Upload CV, apply to jobs, track application status
  • AI Behavioral Assessment — Conversational interview with voice & text support
  • Real-time Status Updates — Track your application through every stage

For HR

  • Applicant Rankings — Candidates ranked by combined technical + behavioral scores
  • Interview Notes — Add feedback during interviews (used in rejection emails)
  • Bulk Actions — Shortlist top N candidates or reject others with one click
  • Interview Scheduling — Schedule and manage interviews with email notifications
  • Talent Orbit — View rejected candidates for future opportunities

Employee Onboarding

  • Guided Onboarding Checklists — Role-specific task lists for new hires
  • AI Onboarding Assistant — Orion chatbot answers policy & process questions
  • Document Management — Upload and track required onboarding documents
  • Team Directory — New hires can explore team members and org structure
  • Progress Tracking — HR monitors onboarding completion across all new hires
  • Department-Specific Templates — Customized onboarding flows per department

AI-Powered

  • CV Parsing — Automatic skill extraction using Groq LLM
  • Semantic Matching — FAISS vector search for job-candidate matching
  • Dynamic Interviews — AI generates follow-up questions based on responses
  • Personalized Emails — AI-generated feedback in rejection/offer emails
  • Voice Mode — Speech recognition & text-to-speech in assessments
  • RAG-Powered FAQ — AI answers questions using company knowledge base

🔄 User Journey Flows

👤 Candidate Journey (Detailed)

┌────────────────────────────────────────────────────────────────────────────┐
│                           CANDIDATE PORTAL                                  │
└────────────────────────────────────────────────────────────────────────────┘
                                    │
                                    ▼
┌─────────────────┐    ┌─────────────────────────────────────────────────────┐
│  🤖 ORION AI    │    │  STEP 1: LANDING PAGE                               │
│  Greets user    │───▶│  • Animated greeting in 10 languages                │
│  in multiple    │    │  • "Hello, I'm Orion, your AI guide at SPACE42"     │
│  languages      │    │  • Login / Sign Up options                          │
└─────────────────┘    └─────────────────────────────────────────────────────┘
                                    │
                                    ▼
┌─────────────────────────────────────────────────────────────────────────────┐
│  STEP 2: BROWSE JOBS                                                        │
│  ┌──────────────────────────────────────────────────────────────────────┐  │
│  │ Each job card shows:                                                  │  │
│  │ • Title, Department, Location                                         │  │
│  │ • Required Skills (non-negotiable)                                    │  │
│  │ • Preferred Skills                                                    │  │
│  │ • 🤖 Orion Chat Widget (ask questions about any job)                 │  │
│  └──────────────────────────────────────────────────────────────────────┘  │
└─────────────────────────────────────────────────────────────────────────────┘
                                    │
                                    ▼
┌─────────────────────────────────────────────────────────────────────────────┐
│  STEP 3: UPLOAD CV FOR ANALYSIS                                             │
│  ┌──────────────────────────────────────────────────────────────────────┐  │
│  │ 🤖 AI CV PARSING (Groq LLM):                                         │  │
│  │ • Extracts: Skills, Experience, Education, Certifications            │  │
│  │ • Identifies: Technical skills, Soft skills, Languages               │  │
│  │                                                                       │  │
│  │ 🔍 SEMANTIC MATCHING (FAISS + FastEmbed):                            │  │
│  │ • Compares CV against all job roles                                   │  │
│  │ • Shows: ✓ Matched Skills | ✗ Missing Skills | % Match Score         │  │
│  │ • Eligibility check: Has all non-negotiable skills? Yes/No           │  │
│  └──────────────────────────────────────────────────────────────────────┘  │
└─────────────────────────────────────────────────────────────────────────────┘
                                    │
                                    ▼
┌─────────────────────────────────────────────────────────────────────────────┐
│  STEP 4: APPLY TO JOB                                                       │
│  • Select CV (or upload new one)                                            │
│  • Add cover letter (optional)                                              │
│  • Submit application                                                       │
│  • 📊 TECHNICAL SCORE calculated from CV parsing                            │
└─────────────────────────────────────────────────────────────────────────────┘
                                    │
                                    ▼
┌─────────────────────────────────────────────────────────────────────────────┐
│  STEP 5: AI BEHAVIORAL ASSESSMENT                                           │
│  ┌──────────────────────────────────────────────────────────────────────┐  │
│  │ 🎙️ VOICE OR TEXT MODE                                                │  │
│  │                                                                       │  │
│  │ 🔮 Animated Orion Orb asks 5 behavioral questions:                   │  │
│  │    Q1: Problem-solving scenario                                       │  │
│  │    Q2: Teamwork & collaboration                                       │  │
│  │    Q3: Handling pressure & deadlines                                  │  │
│  │    Q4: Leadership & initiative                                        │  │
│  │    Q5: Adaptability & learning                                        │  │
│  │                                                                       │  │
│  │ 🤖 AI FOLLOW-UP (Groq):                                              │  │
│  │ • Generates dynamic follow-up questions based on responses            │  │
│  │ • Conversational interview experience                                 │  │
│  │                                                                       │  │
│  │ 📊 BEHAVIORAL SCORING:                                               │  │
│  │ • Problem Solving: ___%                                               │  │
│  │ • Communication: ___%                                                 │  │
│  │ • Teamwork: ___%                                                      │  │
│  │ • Adaptability: ___%                                                  │  │
│  │ • Leadership: ___%                                                    │  │
│  │ • OVERALL BEHAVIORAL SCORE: ___%                                     │  │
│  └──────────────────────────────────────────────────────────────────────┘  │
└─────────────────────────────────────────────────────────────────────────────┘
                                    │
                                    ▼
┌─────────────────────────────────────────────────────────────────────────────┐
│  STEP 6: COMBINED RANKING                                                   │
│  ┌──────────────────────────────────────────────────────────────────────┐  │
│  │ 📊 COMBINED SCORE = (40% Behavioral) + (60% Technical)               │  │
│  │                                                                       │  │
│  │ Example:                                                              │  │
│  │ • Technical Score: 85% (from CV skills, experience, education)       │  │
│  │ • Behavioral Score: 78% (from AI assessment)                         │  │
│  │ • Combined Score: 82.2%                                              │  │
│  │ • Rank: #3 out of 15 applicants                                      │  │
│  └──────────────────────────────────────────────────────────────────────┘  │
└─────────────────────────────────────────────────────────────────────────────┘
                                    │
                                    ▼
┌─────────────────────────────────────────────────────────────────────────────┐
│  STEP 7: APPLICATION STATUS TRACKING                                        │
│  • View current status (Applied → Shortlisted → Interview → Offered)        │
│  • See scheduled interview details + join link                              │
│  • 🤖 Orion chat for questions about process                               │
│  • If REJECTED: Personalized feedback email with improvement areas          │
│  • If OFFERED: Accept and proceed to onboarding                             │
└─────────────────────────────────────────────────────────────────────────────┘
                                    │
                                    ▼
┌─────────────────────────────────────────────────────────────────────────────┐
│  STEP 8: EMPLOYEE ONBOARDING                                                │
│  • Role-specific onboarding checklist                                       │
│  • 🤖 Orion AI Assistant answers policy & process questions (RAG)          │
│  • Team directory & org structure                                           │
│  • Document uploads                                                         │
│  • Progress tracking                                                        │
└─────────────────────────────────────────────────────────────────────────────┘

👔 HR Journey (Detailed)

┌────────────────────────────────────────────────────────────────────────────┐
│                              HR PORTAL                                      │
└────────────────────────────────────────────────────────────────────────────┘
                                    │
                                    ▼
┌─────────────────┐    ┌─────────────────────────────────────────────────────┐
│  🤖 ORION AI    │    │  STEP 1: HR LOGIN                                   │
│  HR Assistant   │───▶│  • Orion greeting animation                         │
│  for internal   │    │  • @space42.ae email required                       │
│  queries        │    │  • Dashboard access                                  │
└─────────────────┘    └─────────────────────────────────────────────────────┘
                                    │
                                    ▼
┌─────────────────────────────────────────────────────────────────────────────┐
│  STEP 2: CREATE JOB ROLES                                                   │
│  • Title, Department, Location                                              │
│  • Description & Responsibilities                                           │
│  • Non-negotiable Skills (required)                                         │
│  • Preferred Skills (nice-to-have)                                          │
│  • Experience range, Salary range                                           │
│  • 🤖 Auto-indexed to FAISS for semantic matching                          │
└─────────────────────────────────────────────────────────────────────────────┘
                                    │
                                    ▼
┌─────────────────────────────────────────────────────────────────────────────┐
│  STEP 3: VIEW APPLICANTS (Auto-Ranked)                                      │
│  ┌──────────────────────────────────────────────────────────────────────┐  │
│  │ 📊 APPLICANTS RANKED BY COMBINED SCORE:                              │  │
│  │                                                                       │  │
│  │ #1 Alex Kim         92% Combined  [Tech: 94%] [Behav: 88%] ✓Eligible │  │
│  │ #2 Sarah Chen       89% Combined  [Tech: 85%] [Behav: 92%] ✓Eligible │  │
│  │ #3 Marcus Okonkwo   82% Combined  [Tech: 80%] [Behav: 85%] ✓Eligible │  │
│  │ #4 Elena Vasquez    75% Combined  [Tech: 78%] [Behav: 70%] ✗Missing  │  │
│  │                                                                       │  │
│  │ Click Behavioral score to see breakdown:                              │  │
│  │ • Problem Solving: 85%                                                │  │
│  │ • Communication: 90%                                                  │  │
│  │ • Teamwork: 88%                                                       │  │
│  │ • Adaptability: 82%                                                   │  │
│  │ • Leadership: 75%                                                     │  │
│  │ • AI Summary: "Strong communicator with excellent teamwork..."        │  │
│  └──────────────────────────────────────────────────────────────────────┘  │
└─────────────────────────────────────────────────────────────────────────────┘
                                    │
                                    ▼
┌─────────────────────────────────────────────────────────────────────────────┐
│  STEP 4: BULK ACTIONS                                                       │
│  ┌──────────────────────────────────────────────────────────────────────┐  │
│  │ Select Top [3] candidates:                                            │  │
│  │                                                                       │  │
│  │ [✓ Shortlist Top 3]  [✗ Reject Others]                               │  │
│  │                                                                       │  │
│  │ • One-click shortlist top N by ranking                                │  │
│  │ • Bulk reject remaining with personalized emails                      │  │
│  └──────────────────────────────────────────────────────────────────────┘  │
└─────────────────────────────────────────────────────────────────────────────┘
                                    │
                                    ▼
┌─────────────────────────────────────────────────────────────────────────────┐
│  STEP 5: ADD INTERVIEW NOTES 📝                                             │
│  ┌──────────────────────────────────────────────────────────────────────┐  │
│  │ For each applicant, HR can add:                                       │  │
│  │ • Note Type: Interview / Screening / General                          │  │
│  │ • Role Fit Score: 1-10                                                │  │
│  │ • Strengths: "Excellent technical depth, great communicator"          │  │
│  │ • Weaknesses: "Limited satellite experience"                          │  │
│  │ • Missing Skills: "Real-time systems, spacecraft software"            │  │
│  │ • Recommendation: Hire / Maybe / Reject                               │  │
│  │ • Additional Notes: Free-form observations                            │  │
│  │                                                                       │  │
│  │ 📧 These notes are used in AI-generated rejection emails!            │  │
│  └──────────────────────────────────────────────────────────────────────┘  │
└─────────────────────────────────────────────────────────────────────────────┘
                                    │
                                    ▼
┌─────────────────────────────────────────────────────────────────────────────┐
│  STEP 6: SCHEDULE INTERVIEWS                                                │
│  • Set date/time                                                            │
│  • Select type: Video Call / Phone / In-Person                              │
│  • Add interviewer names                                                    │
│  • Add meeting link                                                         │
│  • 📧 Auto-sends interview confirmation email to candidate                  │
└─────────────────────────────────────────────────────────────────────────────┘
                                    │
                                    ▼
┌─────────────────────────────────────────────────────────────────────────────┐
│  STEP 7: FINAL DECISION                                                     │
│  ┌──────────────────────────────────────────────────────────────────────┐  │
│  │ SHORTLIST → Candidate moves to interview stage                        │  │
│  │                                                                       │  │
│  │ REJECT → 📧 Personalized rejection email sent:                       │  │
│  │          • AI-generated feedback based on:                            │  │
│  │            - HR interview notes (weaknesses, missing skills)          │  │
│  │            - Behavioral assessment summary                            │  │
│  │          • Encourages future applications                             │  │
│  │          • Candidate added to "Talent Orbit" for future roles         │  │
│  │                                                                       │  │
│  │ OFFER → 📧 Congratulations email sent                                │  │
│  │         • Candidate proceeds to onboarding                            │  │
│  └──────────────────────────────────────────────────────────────────────┘  │
└─────────────────────────────────────────────────────────────────────────────┘
                                    │
                                    ▼
┌─────────────────────────────────────────────────────────────────────────────┐
│  STEP 8: TALENT ORBIT (Rejected Candidates Pool)                            │
│  ┌──────────────────────────────────────────────────────────────────────┐  │
│  │ Orbit 3 ⭐⭐⭐: Passed 3+ interviews, role closed / timing issue      │  │
│  │                 → Fast-track re-entry for future roles                │  │
│  │                                                                       │  │
│  │ Orbit 2 ⭐⭐: Passed HR + 1-2 interviews, minor skill gaps           │  │
│  │               → Consider for similar roles with training              │  │
│  │                                                                       │  │
│  │ Orbit 1 ⭐: CV passed, failed early rounds                           │  │
│  │             → Monitor for skill development                           │  │
│  │                                                                       │  │
│  │ Actions: [Re-contact] [Reconsider] [Tag for Future]                   │  │
│  └──────────────────────────────────────────────────────────────────────┘  │
└─────────────────────────────────────────────────────────────────────────────┘
                                    │
                                    ▼
┌─────────────────────────────────────────────────────────────────────────────┐
│  STEP 9: TRACK ONBOARDING                                                   │
│  • Monitor new hire onboarding progress                                     │
│  • View checklist completion %                                              │
│  • 🤖 Orion assists new hires with questions                               │
└─────────────────────────────────────────────────────────────────────────────┘

📊 Application Status Flow

                                 ┌─────────────────┐
                                 │    APPLIED      │
                                 │  (CV Uploaded)  │
                                 └────────┬────────┘
                                          │
                                          ▼
                          ┌───────────────────────────────┐
                          │      🤖 AI PROCESSING         │
                          │  • CV Parsing (Groq LLM)      │
                          │  • Skill Extraction           │
                          │  • Technical Score: ___%      │
                          │  • Eligibility Check          │
                          └───────────────┬───────────────┘
                                          │
                    ┌─────────────────────┼─────────────────────┐
                    │                     │                     │
                    ▼                     ▼                     ▼
          ┌─────────────────┐   ┌─────────────────┐   ┌─────────────────┐
          │ ✗ NOT ELIGIBLE  │   │ BEHAVIORAL TEST │   │  ⏳ PENDING     │
          │ Missing required│   │ (If eligible)   │   │  Assessment     │
          │ skills          │   └────────┬────────┘   └─────────────────┘
          └────────┬────────┘            │
                   │                     ▼
                   │         ┌───────────────────────────────┐
                   │         │    🎙️ AI ASSESSMENT          │
                   │         │  • 5 Behavioral Questions     │
                   │         │  • Voice or Text Mode         │
                   │         │  • AI Follow-up Questions     │
                   │         │  • Behavioral Score: ___%     │
                   │         └───────────────┬───────────────┘
                   │                         │
                   │                         ▼
                   │         ┌───────────────────────────────┐
                   │         │    📊 RANKING CALCULATED      │
                   │         │  Combined = 40% Behav + 60%   │
                   │         │            Technical          │
                   │         │  Rank: #__ of __ applicants   │
                   │         └───────────────┬───────────────┘
                   │                         │
                   │         ┌───────────────┴───────────────┐
                   │         │                               │
                   │         ▼                               ▼
                   │  ┌─────────────────┐           ┌─────────────────┐
                   │  │   SHORTLISTED   │           │    REJECTED     │
                   │  │  (Top ranked)   │           │ (Lower ranked)  │
                   │  └────────┬────────┘           └────────┬────────┘
                   │           │                             │
                   │           ▼                             ▼
                   │  ┌─────────────────┐           ┌─────────────────┐
                   │  │   INTERVIEW     │           │ 📧 REJECTION    │
                   │  │   SCHEDULED     │           │    EMAIL        │
                   │  │ • Date/Time set │           │ • Personalized  │
                   │  │ • Email sent    │           │   AI feedback   │
                   │  └────────┬────────┘           │ • HR notes      │
                   │           │                    │   included      │
                   │           ▼                    └────────┬────────┘
                   │  ┌─────────────────┐                    │
                   │  │   INTERVIEW     │                    ▼
                   │  │   COMPLETED     │           ┌─────────────────┐
                   │  │ • HR adds notes │           │  TALENT ORBIT   │
                   │  └────────┬────────┘           │ (Future pool)   │
                   │           │                    └─────────────────┘
                   │     ┌─────┴─────┐
                   │     │           │
                   │     ▼           ▼
                   │ ┌───────┐  ┌─────────────────┐
                   │ │OFFERED│  │    REJECTED     │──────────────────┐
                   │ └───┬───┘  └─────────────────┘                  │
                   │     │                                           │
                   │     ▼                                           │
                   │ ┌─────────────────┐                             │
                   │ │ 📧 OFFER EMAIL  │                             │
                   │ │ Congratulations!│                             │
                   │ └────────┬────────┘                             │
                   │          │                                      │
                   │          ▼                                      │
                   │ ┌─────────────────┐                             │
                   └▶│   ONBOARDED     │◀────────────────────────────┘
                     │ • Checklist     │      (Re-considered
                     │ • AI Assistant  │       candidates)
                     │ • Team intro    │
                     └─────────────────┘

🛠️ Tech Stack

Layer Technology
Frontend HTML, CSS, JavaScript
Backend Python, FastAPI
Database Supabase (PostgreSQL)
AI/LLM Groq API
Embeddings FastEmbed + FAISS
Auth JWT Tokens

🚀 Quick Start

Prerequisites

  • Python 3.9+
  • Node.js (for npx serve)
  • Supabase account

1. Clone & Setup

git clone https://github.com/yourusername/space42-hr-agent.git
cd space42-hr-agent

2. Configure Environment

Create backend/.env:

SUPABASE_URL=your_supabase_url
SUPABASE_KEY=your_supabase_anon_key
GROQ_API_KEY=your_groq_api_key
JWT_SECRET_KEY=your_secret_key

3. Install Dependencies

cd backend
pip install -r requirements.txt

4. Start Backend

uvicorn main:app --reload --port 8000

5. Start Frontend (new terminal)

cd frontend
npx serve -p 3000

6. Load Test Data (Optional)

  1. Open Supabase Dashboard → SQL Editor
  2. Paste contents of test_data.sql
  3. Click Run

🔗 URLs

Page URL
Candidate Portal http://localhost:3000/index.html
Jobs http://localhost:3000/jobs.html
HR Portal http://localhost:3000/hr-portal.html
Onboarding http://localhost:3000/onboarding.html
API Docs http://localhost:8000/docs

👤 Test Accounts

Role Email Password
HR Manager hr.admin@space42.ae TestHR123!
Candidate sarah.chen@email.com Test123!

📄 License

MIT License - Built for SPACE42

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors