Skip to content

DoubleH10/TalentAI

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

56 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

TalentAI - Autonomous Talent Acquisition Platform

An AI-powered recruitment platform that automates the entire hiring pipeline from candidate sourcing to offer generation using multi-agent AI systems.

Features

V2 Recruiting Pipeline

Stage Description
Sourcing Search and discover candidates across platforms (LinkedIn, GitHub, Indeed), AI-score fit against job requirements
Campaigns Multi-step email outreach sequences with personalization, delivery tracking, and engagement analytics
Phone Screening AI-powered voice calls via Vapi that probe skills and generate recommendations (STRONG_YES/YES/MAYBE/NO)
Offer Generation Create competitive compensation packages and professional offer letters

AI Agents

Agent Description
Talent Screener Scores sourced candidates against job requirements with detailed fit reasoning
Phone Screen Agent Analyzes call transcripts for skills, compensation expectations, red flags, and communication quality
Offer Generator Creates compensation packages based on market data and candidate expectations

Key Capabilities

  • Multi-Platform Sourcing - Search LinkedIn, GitHub, Indeed, Glassdoor, AngelList
  • AI Candidate Scoring - Automatic fit scoring with detailed reasoning
  • Email Campaigns - Multi-step sequences with SendGrid tracking (opens, clicks, replies)
  • AI Phone Screens - Vapi-powered calls with transcript analysis and recommendations
  • Pipeline Kanban - Visual board tracking candidates through Sourced β†’ Contacted β†’ Replied β†’ Phone Screen β†’ Ready
  • Real-time Dashboard - Live metrics, pipeline status, and agent activity

Architecture

V2 Pipeline Flow

JOB CREATED
    ↓
SOURCING ──────────────────────────────────────────────────────
β”œβ”€ Search candidates across platforms (LinkedIn, GitHub, etc.)
β”œβ”€ Import and deduplicate candidates
└─ AI-score candidates using Talent Screener agent
    ↓
CAMPAIGNS ─────────────────────────────────────────────────────
β”œβ”€ Create multi-step email sequences
β”œβ”€ Add sourced candidates as recipients
β”œβ”€ Send personalized emails with SendGrid tracking
└─ Track: delivered β†’ opened β†’ clicked β†’ replied
    ↓
PHONE SCREEN ──────────────────────────────────────────────────
β”œβ”€ Schedule AI voice calls via Vapi
β”œβ”€ Probe job-relevant skills in conversation
β”œβ”€ Capture transcript and call metadata
β”œβ”€ Phone Screen Agent analyzes and scores
└─ Generate recommendation: STRONG_YES / YES / MAYBE / NO
    ↓
OFFER GENERATION ──────────────────────────────────────────────
β”œβ”€ Generate compensation package
└─ Create and send offer letter

Key Integrations

Service Purpose
Vapi AI phone calling and real-time transcription
SendGrid Email delivery with webhook tracking
Google ADK Agent orchestration with Gemini 2.5
Supabase Database, auth, storage, real-time updates

Tech Stack

Backend

  • FastAPI - High-performance Python web framework
  • Google ADK - Agent Development Kit with Gemini 2.5 Flash/Pro
  • Supabase - PostgreSQL database + file storage
  • Pydantic - Data validation and serialization

Frontend

  • Next.js 14 - React framework with App Router
  • TypeScript - Type-safe development
  • Tailwind CSS - Utility-first styling
  • Lucide React - Icon library

Infrastructure

  • Supabase - Database, auth, real-time subscriptions, and storage
  • Vercel - Frontend deployment
  • Railway - Backend deployment

Getting Started

Prerequisites

  • Python 3.11+
  • Node.js 18+
  • Supabase account
  • Google AI API key

Installation

  1. Clone the repository

    git clone https://github.com/TCS-Intern/HR-Plus.git
    cd HR-Plus
  2. Backend Setup

    cd backend
    cp .env.example .env
    # Edit .env with your credentials
    uv sync
  3. Frontend Setup

    cd frontend
    npm install
    cp .env.example .env.local
    # Edit .env.local with your credentials
  4. Database Setup

    • Create a Supabase project
    • Run the migration in files/001_initial_schema.sql
    • Create storage buckets: resumes, videos, documents

Environment Variables

Backend (.env)

SUPABASE_URL=https://your-project.supabase.co
SUPABASE_SERVICE_KEY=your-service-key
GOOGLE_API_KEY=your-google-api-key
GEMINI_MODEL=gemini-2.5-flash

Frontend (.env.local)

NEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key
NEXT_PUBLIC_API_URL=http://localhost:8000

Running the Application

Using Make (recommended)

make dev  # Runs both backend and frontend

Manual

# Terminal 1 - Backend
cd backend
uv run uvicorn app.main:app --reload --port 8000

# Terminal 2 - Frontend
cd frontend
npm run dev

Access the application:

Project Structure

HR-Plus/
β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ app/
β”‚   β”‚   β”œβ”€β”€ agents/              # AI agent implementations
β”‚   β”‚   β”‚   β”œβ”€β”€ talent_screener.py   # Candidate scoring
β”‚   β”‚   β”‚   β”œβ”€β”€ phone_screen_agent.py # Call transcript analysis
β”‚   β”‚   β”‚   β”œβ”€β”€ offer_generator.py   # Compensation packages
β”‚   β”‚   β”‚   └── coordinator.py       # Agent orchestration
β”‚   β”‚   β”œβ”€β”€ api/v1/              # REST API endpoints
β”‚   β”‚   β”‚   β”œβ”€β”€ sourcing.py          # Candidate sourcing
β”‚   β”‚   β”‚   β”œβ”€β”€ campaigns.py         # Email campaigns
β”‚   β”‚   β”‚   β”œβ”€β”€ phone_screen.py      # AI phone screens
β”‚   β”‚   β”‚   └── offers.py            # Offer management
β”‚   β”‚   β”œβ”€β”€ schemas/             # Pydantic models
β”‚   β”‚   └── services/            # Database, Vapi, SendGrid
β”‚   └── pyproject.toml
β”‚
β”œβ”€β”€ frontend/
β”‚   β”œβ”€β”€ app/
β”‚   β”‚   β”œβ”€β”€ (dashboard)/         # Main dashboard pages
β”‚   β”‚   β”‚   β”œβ”€β”€ sourcing/            # Candidate sourcing
β”‚   β”‚   β”‚   β”œβ”€β”€ campaigns/           # Email campaigns
β”‚   β”‚   β”‚   β”œβ”€β”€ phone-screens/       # AI phone screens
β”‚   β”‚   β”‚   β”œβ”€β”€ pipeline/            # Kanban board
β”‚   β”‚   β”‚   └── offers/              # Offer management
β”‚   β”‚   └── jobs/                # Job management
β”‚   β”œβ”€β”€ components/              # Reusable UI components
β”‚   └── types/                   # TypeScript definitions
β”‚
└── files/
    β”œβ”€β”€ 001_initial_schema.sql   # Database schema
    β”œβ”€β”€ AGENT_SPECS.md           # Agent specifications
    └── SYSTEM_DESIGN.md         # Architecture docs

API Endpoints

Sourcing

Endpoint Method Description
/api/v1/sourcing/search POST Search candidates across platforms
/api/v1/sourcing/import POST Import search results as candidates
/api/v1/sourcing/{id}/score POST AI-score candidate fit
/api/v1/sourcing/bulk-score POST Score multiple candidates
/api/v1/sourcing/{id}/convert POST Convert to application

Campaigns

Endpoint Method Description
/api/v1/campaigns POST Create email campaign
/api/v1/campaigns/{id}/recipients POST Add candidates to campaign
/api/v1/campaigns/{id}/send POST Send pending messages
/api/v1/campaigns/webhook/sendgrid POST Handle email events

Phone Screens

Endpoint Method Description
/api/v1/phone-screen/schedule POST Schedule AI phone call
/api/v1/phone-screen/webhook POST Handle Vapi call events
/api/v1/phone-screen/{id}/approve POST Approve for offer stage
/api/v1/phone-screen/{id}/reject POST Reject candidate

Offers

Endpoint Method Description
/api/v1/offer/generate POST Generate offer package
/api/v1/dashboard/metrics GET Get dashboard metrics

Usage Flow

  1. Create Job β†’ Define role requirements and skills
  2. Source Candidates β†’ Search across LinkedIn, GitHub, Indeed
  3. Score & Filter β†’ AI scores candidates against job requirements
  4. Run Campaigns β†’ Send personalized email sequences
  5. Phone Screen β†’ AI calls interested candidates, analyzes responses
  6. Review Results β†’ Check recommendations (STRONG_YES/YES/MAYBE/NO)
  7. Generate Offer β†’ Create compensation package for approved candidates
  8. Track Pipeline β†’ Monitor candidates through Kanban board

Screenshots

Pipeline Kanban

Visual board tracking candidates through Sourced β†’ Contacted β†’ Replied β†’ Phone Screen β†’ Ready stages.

Sourcing

Multi-platform candidate search with AI fit scoring and skills matching.

Campaigns

Email sequence builder with delivery tracking and engagement analytics.

Phone Screens

AI call results with recommendations, transcript analysis, and skill assessments.

Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit changes (git commit -m 'Add amazing feature')
  4. Push to branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

MIT License

Acknowledgments

About

HR Platform for Screening and Interviewing

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 47.9%
  • TypeScript 40.3%
  • PLpgSQL 8.1%
  • HTML 2.9%
  • Makefile 0.4%
  • JavaScript 0.3%
  • Other 0.1%