An AI-powered HR management system for SPACE42's recruitment, hiring, and employee onboarding processes.
- 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
- 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
- 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
- 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
┌────────────────────────────────────────────────────────────────────────────┐
│ 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 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 │
└─────────────────────────────────────────────────────────────────────────────┘
┌─────────────────┐
│ 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 │
└─────────────────┘
| Layer | Technology |
|---|---|
| Frontend | HTML, CSS, JavaScript |
| Backend | Python, FastAPI |
| Database | Supabase (PostgreSQL) |
| AI/LLM | Groq API |
| Embeddings | FastEmbed + FAISS |
| Auth | JWT Tokens |
- Python 3.9+
- Node.js (for
npx serve) - Supabase account
git clone https://github.com/yourusername/space42-hr-agent.git
cd space42-hr-agentCreate 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_keycd backend
pip install -r requirements.txtuvicorn main:app --reload --port 8000cd frontend
npx serve -p 3000- Open Supabase Dashboard → SQL Editor
- Paste contents of
test_data.sql - Click Run
| 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 |
| Role | Password | |
|---|---|---|
| HR Manager | hr.admin@space42.ae | TestHR123! |
| Candidate | sarah.chen@email.com | Test123! |
MIT License - Built for SPACE42