Prakat1307/SynthHire-Hub

An advanced AI Interview Simulator featuring 5 unique personas, live code execution, and 8D scoring—complemented by ATS scoring and auto-apply tools.

0

stars

25

commits

TypeScript

primary language

Mar 19, 2026

updated

www.synthhire.me/

README

🚀 SynthHire

The Ultimate AI-Powered Semi-Auto Apply Job Portal & Interview Platform

🎯 Practice interviews with AI personas that push back.
📄 Beat ATS filters before you even hit apply.
⚡ Semi-auto apply to jobs in minutes, not hours.

FastAPI Next.js Docker PostgreSQL MongoDB Redis License: MIT GitHub stars GitHub forks


🎬 See It In Action

SynthHire Platform Demo
Full Interview Simulation & Career Command Center Demo

✨ Feature Overview

FeatureDescriptionPowered By
📄 Resume ATS ScorerParses & grades resumes against benchmarksGemini 2.5 Flash
🎤 AI Interview SimulationVoice interviews with 5 AI personasGroq STT + Edge TTS
🔗 LinkedIn OptimizerKeyword & headline suggestionsGemini 2.5 Flash
Semi-Auto Job ApplyCover letters from job descriptionsGemini 2.5 Flash
📚 Prep HubFlashcards, DSA warm-ups, cheat sheetsLLM-generated
💻 Live Code ExecutionRun 5 languages in sandboxed envDocker-in-Docker
📊 8D Assessment EngineScores 8 dimensions in real-timeCustom LLM Pipeline

🎤 AI Personas

PersonaWarmthProbing StyleInteraction Tone
Kind MentorHighFrequent hintsSupportive and encouraging
Tough LeadLowDeep, rigorous probingHigh standards, expects optimal solutions
Tricky HRMediumTests emotional intelligenceCasual, looks for conflict resolution skills
Silent ObserverLowMinimal interactionHigh pressure, tests composure
Collaborative PeerHighBrainstorms with youFriendly and cooperative

📊 8-Dimensional Assessment Engine

Stop guessing how you did. Get real-time, objective scoring across 8 vectors:

  1. Technical Correctness
  2. Problem Decomposition
  3. Communication Clarity
  4. Handling Ambiguity
  5. Edge Case Awareness
  6. Time Management
  7. Collaborative Signals
  8. Growth Mindset

💻 The Advanced Interview Room

  • Multi-Layout Interface: Seamlessly drag and split your view between Default, Code, Chat, and Code+Chat layouts.
  • Live Monaco Code Editor: Built-in syntax highlighting and autocomplete.
  • Real-Time Code Execution: Run Python, JavaScript, Java, C++, and Go instantly via securely sandboxed remote execution environments.
  • Screen Sharing: Built-in screen casting for system design rounds.

🏗️ System Architecture

SynthHire is structured as a highly scalable microservices architecture capable of handling long-running, stateful WebSocket connections for live interview sessions.

graph TD
    %% Define Styles
    classDef client fill:#000,stroke:#333,stroke-width:2px,color:#fff
    classDef proxy fill:#2496ED,stroke:#fff,stroke-width:2px,color:#fff
    classDef service fill:#005571,stroke:#fff,stroke-width:2px,color:#fff
    classDef ai fill:#6C42A1,stroke:#fff,stroke-width:2px,color:#fff
    classDef infra fill:#316192,stroke:#fff,stroke-width:2px,color:#fff
    classDef queue fill:#DC382D,stroke:#fff,stroke-width:2px,color:#fff

    %% Frontend & Gateway
    Client["Client Browser<br/>(Next.js / React)"]:::client
    Nginx["Nginx Reverse Proxy<br/>(API Gateway)"]:::proxy
    
    %% Core Services
    Auth["Auth Service<br/>(JWT + User Auth)"]:::service
    UserSvc["User/Company Service<br/>(Profiles & Mgmt)"]:::service
    JobSvc["Job Service<br/>(Postings & Apps)"]:::service
    
    %% Interview Pipeline
    Orchestrator["Session Orchestrator<br/>(WebSocket Hub)"]:::service
    Speech["Speech Pipeline<br/>(STT/TTS Engine)"]:::service
    Executor["Code Sandbox<br/>(Docker Execution)"]:::service
    Assessor["Assessment Engine<br/>(Real-Time Scoring)"]:::service
    
    %% AI APIs
    Gemini["Google Gemini<br/>2.5 Flash"]:::ai
    Groq["Groq STT"]:::ai
    Edge["Edge TTS"]:::ai
    
    %% Databases
    Postgres[("PostgreSQL<br/>(Relational State)")]:::infra
    Mongo[("MongoDB<br/>(Session Transcripts)")]:::infra
    Redis["Redis<br/>(PubSub & Cache)"]:::queue

    %% Flow Connections
    Client <==>|HTTP / WSS| Nginx
    
    Nginx --> Auth
    Nginx --> UserSvc
    Nginx --> JobSvc
    Nginx <==>|WSS| Orchestrator
    
    Auth --> Postgres
    UserSvc --> Postgres
    JobSvc --> Postgres
    
    %% Orchestrator is the brain
    Orchestrator <--> Redis
    Orchestrator --> Mongo
    Orchestrator <--> Executor
    Orchestrator <--> Assessor
    Orchestrator <--> Speech
    
    %% External AI Communication
    Assessor --> Gemini
    Speech --> Groq
    Speech --> Edge

Component Breakdown

  • Gateway Layer: Nginx acts as the reverse proxy, intelligently routing stateless HTTP traffic to standard microservices while maintaining stateful, persistent WebSocket (WSS) tunnels specifically to the Orchestrator.
  • Session Orchestrator: The "brain" of the platform. Maintains the real-time WebSocket connection for live coding events, synchronizes the chat state via Redis PubSub, and coordinates the AI subsystems.
  • Assessment Engine: Passes streaming user chat context and code execution output through Google Gemini to calculate the 8-dimensions of performance.
  • Code Sandbox: A secure Docker-in-Docker isolated environment that compiles and runs candidate code instantly without exposing the host OS to malicious attempts.

🛠️ Tech Stack

LayerTechnology
FrontendNext.js 14, TailwindCSS, Monaco Editor, WebRTC
BackendFastAPI, Python 3.11, Microservices
AI / MLGoogle Gemini 2.5 Flash, Groq STT, Edge TTS
DatabasesPostgreSQL, MongoDB, Redis
DevOpsDocker Compose, Nginx, GitHub Actions
AuthRSA-256 Asymmetric JWT (Zero-Trust)

🚀 Deployment Guide

SynthHire is fully containerized. You do not need to configure ports or install local runtimes—Docker handles everything.

1. Environment Setup

Clone the repository and set up your environment keys.

git clone https://github.com/Prakat1307/SynthHire-Hub.git
cd SynthHire-Interview-Platform/backend
cp .env.template .env

(Ensure your .env contains the required keys for OpenAI, Groq, and database URIs).

2. Generate RSA Keys

Generate secure cryptographic keys for internal microservice communication:

python scripts/generate_keys.py

3. Launch the Stack

Start the databases, cache layers, backend microservices, Next.js frontend, and Nginx reverse proxy in detached mode:

docker-compose up -d --build

4. Database Initialization

Once the containers are healthy, seed the initial database schema:

docker exec -it synthhire-auth python scripts/init_db.py

🗺️ Roadmap

  • WebRTC voice integration
  • 8-Dimension scoring engine
  • Live code execution (5 languages)
  • Semi-Auto Job Apply Portal
  • Browser extension for accelerating semi-auto job applications
  • Mobile application (iOS & Android)
  • LeetCode-style problem bank
  • Dedicated company portal to serve as a screening layer before physical interviews

🛡️ Security Posture

  • Zero-Trust Microservices: All internal service-to-service calls require signed JWTs.
  • Pterodactyl-Style Execution: Candidate code is executed in isolated, resource-capped, ephemeral containers preventing host-escape vulnerabilities.
  • Environment Isolation: No hardcoded secrets. Strict separation of local, staging, and production .env files.

🤝 Contributing

PRs are welcome! Open an issue before submitting major changes.


📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

If SynthHire helped you, star the repo — it helps others discover it!

Contributors

Prakat1307

25 commits

Prakat1307/SynthHire-Hub

An advanced AI Interview Simulator featuring 5 unique personas, live code execution, and 8D scoring—complemented by ATS scoring and auto-apply tools.

0

stars

25

commits

TypeScript

primary language

Mar 19, 2026

updated

www.synthhire.me/

README

🚀 SynthHire

The Ultimate AI-Powered Semi-Auto Apply Job Portal & Interview Platform

🎯 Practice interviews with AI personas that push back.
📄 Beat ATS filters before you even hit apply.
⚡ Semi-auto apply to jobs in minutes, not hours.

FastAPI Next.js Docker PostgreSQL MongoDB Redis License: MIT GitHub stars GitHub forks


🎬 See It In Action

SynthHire Platform Demo
Full Interview Simulation & Career Command Center Demo

✨ Feature Overview

FeatureDescriptionPowered By
📄 Resume ATS ScorerParses & grades resumes against benchmarksGemini 2.5 Flash
🎤 AI Interview SimulationVoice interviews with 5 AI personasGroq STT + Edge TTS
🔗 LinkedIn OptimizerKeyword & headline suggestionsGemini 2.5 Flash
Semi-Auto Job ApplyCover letters from job descriptionsGemini 2.5 Flash
📚 Prep HubFlashcards, DSA warm-ups, cheat sheetsLLM-generated
💻 Live Code ExecutionRun 5 languages in sandboxed envDocker-in-Docker
📊 8D Assessment EngineScores 8 dimensions in real-timeCustom LLM Pipeline

🎤 AI Personas

PersonaWarmthProbing StyleInteraction Tone
Kind MentorHighFrequent hintsSupportive and encouraging
Tough LeadLowDeep, rigorous probingHigh standards, expects optimal solutions
Tricky HRMediumTests emotional intelligenceCasual, looks for conflict resolution skills
Silent ObserverLowMinimal interactionHigh pressure, tests composure
Collaborative PeerHighBrainstorms with youFriendly and cooperative

📊 8-Dimensional Assessment Engine

Stop guessing how you did. Get real-time, objective scoring across 8 vectors:

  1. Technical Correctness
  2. Problem Decomposition
  3. Communication Clarity
  4. Handling Ambiguity
  5. Edge Case Awareness
  6. Time Management
  7. Collaborative Signals
  8. Growth Mindset

💻 The Advanced Interview Room

  • Multi-Layout Interface: Seamlessly drag and split your view between Default, Code, Chat, and Code+Chat layouts.
  • Live Monaco Code Editor: Built-in syntax highlighting and autocomplete.
  • Real-Time Code Execution: Run Python, JavaScript, Java, C++, and Go instantly via securely sandboxed remote execution environments.
  • Screen Sharing: Built-in screen casting for system design rounds.

🏗️ System Architecture

SynthHire is structured as a highly scalable microservices architecture capable of handling long-running, stateful WebSocket connections for live interview sessions.

graph TD
    %% Define Styles
    classDef client fill:#000,stroke:#333,stroke-width:2px,color:#fff
    classDef proxy fill:#2496ED,stroke:#fff,stroke-width:2px,color:#fff
    classDef service fill:#005571,stroke:#fff,stroke-width:2px,color:#fff
    classDef ai fill:#6C42A1,stroke:#fff,stroke-width:2px,color:#fff
    classDef infra fill:#316192,stroke:#fff,stroke-width:2px,color:#fff
    classDef queue fill:#DC382D,stroke:#fff,stroke-width:2px,color:#fff

    %% Frontend & Gateway
    Client["Client Browser<br/>(Next.js / React)"]:::client
    Nginx["Nginx Reverse Proxy<br/>(API Gateway)"]:::proxy
    
    %% Core Services
    Auth["Auth Service<br/>(JWT + User Auth)"]:::service
    UserSvc["User/Company Service<br/>(Profiles & Mgmt)"]:::service
    JobSvc["Job Service<br/>(Postings & Apps)"]:::service
    
    %% Interview Pipeline
    Orchestrator["Session Orchestrator<br/>(WebSocket Hub)"]:::service
    Speech["Speech Pipeline<br/>(STT/TTS Engine)"]:::service
    Executor["Code Sandbox<br/>(Docker Execution)"]:::service
    Assessor["Assessment Engine<br/>(Real-Time Scoring)"]:::service
    
    %% AI APIs
    Gemini["Google Gemini<br/>2.5 Flash"]:::ai
    Groq["Groq STT"]:::ai
    Edge["Edge TTS"]:::ai
    
    %% Databases
    Postgres[("PostgreSQL<br/>(Relational State)")]:::infra
    Mongo[("MongoDB<br/>(Session Transcripts)")]:::infra
    Redis["Redis<br/>(PubSub & Cache)"]:::queue

    %% Flow Connections
    Client <==>|HTTP / WSS| Nginx
    
    Nginx --> Auth
    Nginx --> UserSvc
    Nginx --> JobSvc
    Nginx <==>|WSS| Orchestrator
    
    Auth --> Postgres
    UserSvc --> Postgres
    JobSvc --> Postgres
    
    %% Orchestrator is the brain
    Orchestrator <--> Redis
    Orchestrator --> Mongo
    Orchestrator <--> Executor
    Orchestrator <--> Assessor
    Orchestrator <--> Speech
    
    %% External AI Communication
    Assessor --> Gemini
    Speech --> Groq
    Speech --> Edge

Component Breakdown

  • Gateway Layer: Nginx acts as the reverse proxy, intelligently routing stateless HTTP traffic to standard microservices while maintaining stateful, persistent WebSocket (WSS) tunnels specifically to the Orchestrator.
  • Session Orchestrator: The "brain" of the platform. Maintains the real-time WebSocket connection for live coding events, synchronizes the chat state via Redis PubSub, and coordinates the AI subsystems.
  • Assessment Engine: Passes streaming user chat context and code execution output through Google Gemini to calculate the 8-dimensions of performance.
  • Code Sandbox: A secure Docker-in-Docker isolated environment that compiles and runs candidate code instantly without exposing the host OS to malicious attempts.

🛠️ Tech Stack

LayerTechnology
FrontendNext.js 14, TailwindCSS, Monaco Editor, WebRTC
BackendFastAPI, Python 3.11, Microservices
AI / MLGoogle Gemini 2.5 Flash, Groq STT, Edge TTS
DatabasesPostgreSQL, MongoDB, Redis
DevOpsDocker Compose, Nginx, GitHub Actions
AuthRSA-256 Asymmetric JWT (Zero-Trust)

🚀 Deployment Guide

SynthHire is fully containerized. You do not need to configure ports or install local runtimes—Docker handles everything.

1. Environment Setup

Clone the repository and set up your environment keys.

git clone https://github.com/Prakat1307/SynthHire-Hub.git
cd SynthHire-Interview-Platform/backend
cp .env.template .env

(Ensure your .env contains the required keys for OpenAI, Groq, and database URIs).

2. Generate RSA Keys

Generate secure cryptographic keys for internal microservice communication:

python scripts/generate_keys.py

3. Launch the Stack

Start the databases, cache layers, backend microservices, Next.js frontend, and Nginx reverse proxy in detached mode:

docker-compose up -d --build

4. Database Initialization

Once the containers are healthy, seed the initial database schema:

docker exec -it synthhire-auth python scripts/init_db.py

🗺️ Roadmap

  • WebRTC voice integration
  • 8-Dimension scoring engine
  • Live code execution (5 languages)
  • Semi-Auto Job Apply Portal
  • Browser extension for accelerating semi-auto job applications
  • Mobile application (iOS & Android)
  • LeetCode-style problem bank
  • Dedicated company portal to serve as a screening layer before physical interviews

🛡️ Security Posture

  • Zero-Trust Microservices: All internal service-to-service calls require signed JWTs.
  • Pterodactyl-Style Execution: Candidate code is executed in isolated, resource-capped, ephemeral containers preventing host-escape vulnerabilities.
  • Environment Isolation: No hardcoded secrets. Strict separation of local, staging, and production .env files.

🤝 Contributing

PRs are welcome! Open an issue before submitting major changes.


📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

If SynthHire helped you, star the repo — it helps others discover it!

Contributors

Prakat1307

25 commits

Languages

TypeScript

57.1%

Python

40.4%