Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

204 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

TalentSync β€” AI-Powered Recruitment Platform for SMB IT Companies

Live Demo HTTPS AWS Powered by Claude

TalentSync is an end-to-end AI recruitment platform built for small and mid-sized IT companies that can't afford enterprise tools like Workday or Greenhouse ($30K+/year). It ships 6 AI agents powered by Claude that handle the entire hiring journey β€” from job posting to interview summarization β€” at $29/month. Built on AWS with HTTPS, integrated with the U.S. Department of Labor's O*NET dataset, and tested across 49 cases (100% pass rate).


🌐 Live Demo

https://talentsync.duckdns.org/talentsync/

Test Credentials

Role Email Password
HR Manager test.hr@gmail.com Test@123
Applicant test.applicant@gmail.com Test@123

One-click HR Demo (no signup)

Click "Try HR Demo" on the homepage, or navigate directly to: https://talentsync.duckdns.org/talentsync/api/demo_login.php

Drops you into a populated HR dashboard with 14 jobs and 37 applications seeded for demo purposes.


✨ Six AI Agents

# Feature Model What it does
1 AI Job Posting Assistant Claude Haiku 4.5 Type "I need a senior backend engineer" β†’ get a complete O*NET-standardized job posting in 30 seconds
2 AI Job Recommendations Claude Haiku 4.5 Applicants answer 6 wizard-style questions β†’ Claude returns the top 5 ranked matches with reasoning
3 AI HR Insights Dashboard Claude Sonnet 4.6 Analyzes the entire hiring pipeline and surfaces severity-coded actionable insights (critical / warning / healthy)
4 AI Candidate Scoring Claude Sonnet 4.6 Hybrid scoring: 0.4 Γ— Jaccard similarity + 0.6 Γ— Weighted skill score, plus a 4-section AI qualitative report
5 AI Interview Notes Claude Sonnet 4.6 Live in-browser transcription via Web Speech API + Claude-generated Dialogue and Summary HTML
6 Verified HR Onboarding Form-based Free email is welcome β€” startups verify legitimacy via company name + website

πŸ—οΈ Architecture

                    Browser (HR / Applicant)
                            β”‚
                  https://talentsync.duckdns.org/talentsync/
                            β”‚
                            β–Ό
                β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                β”‚  DuckDNS (free DNS)         β”‚
                β”‚  β†’ 13.59.20.157             β”‚
                β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                              β–Ό
                β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                β”‚  AWS EC2 (Apache + PHP 8.2) β”‚
                β”‚  SSL: Let's Encrypt cert    β”‚
                β”‚  Auto-renew via Certbot     β”‚
                β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                              β”‚
              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
              β–Ό               β–Ό               β–Ό
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚ AWS RDS (MySQL) β”‚  β”‚ Claude  β”‚  β”‚ O*NET Web    β”‚
    β”‚ talentsync_db   β”‚  β”‚ API     β”‚  β”‚ Services     β”‚
    β”‚ (us-east-2)     β”‚  β”‚ (Anthr.)β”‚  β”‚ (gov data)   β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ› οΈ Tech Stack

Backend

  • PHP 8.2 β€” vanilla, no framework (deliberate choice for AI prompt control + faster iteration)
  • MySQL 8 on AWS RDS β€” users, jobs, job_skills, applications, stage_history, meeting_notes, occupation_data, technology_skills tables
  • PDO prepared statements β€” zero raw SQL queries (SQL-injection-proof)

AI / ML

  • Anthropic Claude API β€” Sonnet 4.6 for deep reasoning, Haiku 4.5 for high-volume calls
  • Hybrid match scoring β€” Jaccard set similarity + Weighted skill coverage + Claude qualitative analysis
  • Prompt-injection defense β€” delimited prompts ("""..."""), strip_tags input sanitization, system + user message separation
  • Multi-model fallback β€” Sonnet 4.6 β†’ 4.5 fallback for the Feedback Summarizer

Frontend

  • Vanilla HTML/CSS/JavaScript β€” no React/Vue (lightweight, fast to ship)
  • Web Speech API β€” on-device speech-to-text for the AI Interview Notes feature
  • Animated wizard UI β€” Typeform-style 6-step questionnaire with auto-advance, progress bar, multi-select checkbox cards
  • Fully responsive β€” tested at iPhone 14 Pro Max (430px) through 1920px desktop

Cloud + DevOps

  • AWS EC2 (Amazon Linux 2023) β€” application server with Apache 2.4
  • AWS RDS (MySQL, us-east-2) β€” managed database
  • DuckDNS β€” free dynamic DNS providing the talentsync.duckdns.org subdomain
  • Let's Encrypt + Certbot β€” free SSL certificate, auto-renewing every 90 days via systemd timer
  • GitHub Actions β€” CI/CD pipeline auto-deploys to EC2 on every push to main

Security

  • CSRF tokens on every state-changing form
  • bcrypt password hashing (password_hash() + password_verify())
  • Session security: HttpOnly + Secure + SameSite=Lax cookies
  • htmlspecialchars output escaping (XSS prevention)
  • Server-side role enforcement (HR vs Applicant β€” never trust the UI)
  • API keys in environment variables β€” never committed to git
  • Rate limiting on signup + login endpoints (5 attempts per 15 min)
  • 27 dedicated security tests β€” all passing

πŸ“Š Testing

49 test cases Β· 100% pass rate Β· 4 browsers (Chrome 124, Safari 17, Firefox 125, Edge 124)

Category Count Result
Functional (auth, jobs, applications, AI features) 16 16/16 βœ“
Authorization boundaries 3 3/3 βœ“
Edge cases (empty inputs, large inputs, non-English) 3 3/3 βœ“
Security (CSRF, SQLi, XSS, prompt injection, secrets) 27 27/27 βœ“
Total 49 49/49 βœ“

πŸ’° Unit Economics

Metric Value
Cost-to-serve per user / month $5.70 (AWS + Claude API + Domain)
Average revenue per user / month $59.00
Gross margin 90.3%
Customer acquisition cost (CAC) $96
Lifetime value (LTV) $826 (14-month avg retention)
LTV : CAC ratio 8.6Γ— (well above 3Γ— SaaS healthy threshold)
Break-even Month 6 at customer #5

πŸ“ Repository Structure

talentsync/
β”œβ”€β”€ api/                       # Server-side PHP endpoints
β”‚   β”œβ”€β”€ auth_login.php         # Login API
β”‚   β”œβ”€β”€ auth_signup.php        # Signup with company verification
β”‚   β”œβ”€β”€ chatbox.php            # AI Job Posting Assistant
β”‚   β”œβ”€β”€ job_recommendations.php # AI Job Recommendations
β”‚   β”œβ”€β”€ hr_insights.php        # AI HR Insights Dashboard
β”‚   β”œβ”€β”€ ai_score.php           # AI Candidate Scoring (Jaccard + Weighted + Claude)
β”‚   β”œβ”€β”€ ai_summarize_notes.php # AI Interview Notes summarization
β”‚   β”œβ”€β”€ save_job.php           # Job CRUD (location, experience, salary)
β”‚   β”œβ”€β”€ submit_application.php # Application submission
β”‚   β”œβ”€β”€ update_application_status.php
β”‚   β”œβ”€β”€ demo_login.php         # One-click HR demo
β”‚   └── ...
β”œβ”€β”€ assets/                    # CSS + images
β”œβ”€β”€ config/
β”‚   β”œβ”€β”€ db.php                 # DB credentials (gitignored)
β”‚   β”œβ”€β”€ ai.php                 # Claude API config + helper
β”‚   └── ai.example.php         # Template for new clones
β”œβ”€β”€ includes/                  # Reusable navbar, footer, csrf, helpers
β”œβ”€β”€ .github/workflows/         # CI/CD: auto-deploy to EC2 on push
β”œβ”€β”€ index.php                  # Homepage (animated, polished marketing site)
β”œβ”€β”€ login.php / signup.php     # Auth pages
β”œβ”€β”€ browse_jobs.php            # Public job board
β”œβ”€β”€ job_detail.php             # Single job page (role-aware: HR vs Applicant)
β”œβ”€β”€ apply_job.php              # Application form
β”œβ”€β”€ dashboard_hr.php           # HR command center with AI Insights
β”œβ”€β”€ dashboard_applicant.php    # Applicant view + AI recommendations
β”œβ”€β”€ create_job.php             # AI Chatbox + manual job builder
β”œβ”€β”€ job_applications.php       # HR view of candidates per job
β”œβ”€β”€ notepad.php                # Live transcript + AI summarization
β”œβ”€β”€ questionnaire.php          # 6-step wizard for AI job recs
β”œβ”€β”€ pricing.php                # Public pricing page (3 tiers)
β”œβ”€β”€ billing.php                # HR account / current plan view
└── README.md

πŸš€ Local Development Setup

Prerequisites

  • MAMP (or XAMPP, LAMP) with PHP 8.2+
  • Access to the team's AWS RDS credentials (or set up your own MySQL instance)
  • Anthropic Claude API key

Setup Steps

# 1. Clone the repo
git clone https://github.com/Krats05/talentsync.git
cd talentsync

# 2. Symlink into your MAMP htdocs
ln -s "$(pwd)" /Applications/MAMP/htdocs/talentsync

# 3. Copy AI config template and add your Claude API key
cp config/ai.example.php config/ai.php
# Edit config/ai.php β†’ set CLAUDE_API_KEY

# 4. Create config/db.php with DB credentials (ask team for AWS RDS access)
cat > config/db.php << 'EOF'
<?php
$connection_mode = 'cloud';   // or 'local'
if ($connection_mode == 'cloud') {
    $host = 'talentsync-db.xxxx.us-east-2.rds.amazonaws.com';
    $user = 'admin';
    $pass = 'your-password';
    $dbname = 'talentsync_db';
    $port = 3306;
}
$conn = new mysqli($host, $user, $pass, $dbname, $port);
$conn->set_charset('utf8mb4');
EOF

# 5. Start MAMP, then visit:
# http://localhost:8888/talentsync/

Test Login

After local setup, log in with the seeded test credentials:

  • HR: test.hr@gmail.com / Test@123
  • Applicant: test.applicant@gmail.com / Test@123

☁️ Deployment

The app is deployed on AWS EC2 with HTTPS via DuckDNS + Let's Encrypt:

  1. DuckDNS subdomain β€” talentsync.duckdns.org points to EC2 IP 13.59.20.157
  2. Apache vhost β€” /etc/httpd/conf.d/talentsync.conf listens on port 80 + 443
  3. SSL cert β€” issued by Let's Encrypt via certbot --apache, auto-renews every 90 days via systemd timer
  4. CI/CD β€” every push to main triggers GitHub Actions β†’ SSHs to EC2 β†’ git pull β†’ restart Apache
  5. Security group β€” ports 22 (SSH), 80 (HTTP β†’ 301 to HTTPS), 443 (HTTPS) open

Full HTTPS setup walkthrough: see HTTPS_SETUP.md (created during Sprint 4).


πŸ‘₯ Team β€” Group 3

Member Sprint Ownership
Kratika Patidar AI HR Insights Dashboard, security testing (49 cases), HTTPS deployment, demo data seeding, homepage redesign, AI matching alignment (Location/Experience/Salary), questionnaire wizard, final document coordination
Yutong Jiang Product design, ER diagram, DFD/activity diagrams, AI feature specs
Ozge Arslan Burndown chart (whole project), sprint reviews, application status API
Vaishnavi Samani Marketing plan, cost analysis, Year 1 budget, pricing tiers, applicant dashboard
Lee Li Sprint backlog, methodology + apps documentation, login/signup UI
Qiushi Zhao System overview, browse jobs page, retrospective + recommendations sections

πŸ›£οΈ Roadmap

Quarter Improvement
Q3 2026 Multi-tenant data isolation + native iOS/Android mobile apps
Q4 2026 ATS integrations (Indeed, ZipRecruiter, LinkedIn) + WCAG 2.1 AA + Section 508 + EAA accessibility compliance
Q1 2027 Video interview transcription, real-time AI coaching, AI-powered company verification at signup (replaces static blocklist)
Q2 2027 International launch β€” UK, Australia, Canada with multi-language AI
Long-term Custom domain (replace *.duckdns.org), AWS Application Load Balancer + ACM SSL, CloudFront CDN

πŸ“– Capstone Documentation

This is a senior capstone project for The George Washington University:

  • Deliverable 1 β€” Project proposal + requirements
  • Deliverable 2 β€” Sprint 1 (foundation: auth, DB, basic CRUD)
  • Deliverable 3 β€” Sprint 2 (core: job posting, applications, AWS deployment)
  • Deliverable 4 β€” Sprint 3 (AI integration: 6 AI features + HTTPS + security testing)
  • Deliverable 5 β€” Sprint 4 / Final document (this submission)

πŸ“ License

This project was built as part of an academic capstone. Code is provided for educational reference. For commercial use or licensing inquiries, please contact the team.


πŸ™ Acknowledgments

  • Anthropic β€” for Claude API access
  • U.S. Department of Labor β€” for the O*NET occupation database (free public data)
  • Let's Encrypt + DuckDNS β€” for free HTTPS infrastructure
  • GWU Capstone Faculty β€” for guidance, sprint feedback, and project mentorship

About

Talentsync- ONET integrated recruitment system

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages