rushikeshxdev/HireeFlow.ai
Real-time AI-powered technical interview platform with video conferencing, collaborative code editing, and smart question generation
HireeFlow.ai
Real-time AI-Powered Technical Interview Platform
Features • Demo • Installation • Usage • Tech Stack
Overview
HireeFlow.ai is a comprehensive technical interview platform that combines real-time video conferencing, collaborative code editing, and AI-powered question generation into a seamless experience for both interviewers and candidates.
Features
Video Conferencing
- WebRTC Peer-to-Peer - Low latency video calls
- Screen Sharing - Share your screen with participants
- Media Controls - Mute/unmute, camera toggle
- Auto-Connect - Automatic connection when participants join
Collaborative Code Editor
- Monaco Editor - VS Code-like editing experience
- 8+ Languages - JavaScript, TypeScript, Python, Java, C++, C, Go, Rust
- Real-time Sync - See code changes instantly
- Code Execution - Run code directly via Piston API
AI Co-Pilot
- Smart Questions - Generate interview questions from resume/skills
- Difficulty Levels - Medium, Hard, Expert questions
- Context-Aware - Questions tailored to job role
- Powered by Gemini 2.0 - Google's latest AI model
Additional Features
- Real-time Chat - Text communication during interviews
- Role Management - Interviewer and Candidate roles
- Room-based Sessions - Isolated interview rooms
- Responsive Design - Works on desktop and tablets
Tech Stack
| Layer | Technologies |
|---|---|
| Frontend | React 19, Vite, Tailwind CSS, Monaco Editor |
| Backend | Node.js, Express.js, Socket.io |
| Video | WebRTC, simple-peer |
| AI | Google Gemini 2.0 Flash |
| Code Execution | Piston API |
Installation
Prerequisites
- Node.js 18+
- npm or yarn
- Google Gemini API Key (Get one free)
Clone the Repository
git clone https://github.com/rushikeshxdev/HireeFlow.ai.git
cd HireeFlow.aiServer Setup
cd server
# Install dependencies
npm install
# Create environment file
cp .env.example .env
# Edit .env and add your Gemini API key
# GEMINI_API_KEY=your_api_key_here
# Start development server
npm run devClient Setup
cd client
# Install dependencies
npm install
# Start development server
npm run devUsage
-
Start both servers (server on port 5000, client on port 5173)
-
Open the app at
http://localhost:5173 -
Create or join a room:
- Enter a room ID or generate a random one
- Choose your role (Interviewer/Candidate)
- Enter your name
-
Start the interview:
- Video will connect automatically when both join
- Use the code editor to write/share code
- Generate AI questions from the sidebar
For Interviewers
- Access the AI Co-Pilot to generate relevant questions
- View candidate's code in real-time
- Run and evaluate code submissions
For Candidates
- Write code in the collaborative editor
- Execute code to test solutions
- Communicate via video and chat
Project Structure
HireeFlow.ai/
├── client/ # React Frontend
│ ├── src/
│ │ ├── components/ # React components
│ │ ├── context/ # Context providers
│ │ ├── pages/ # Page components
│ │ └── main.jsx # Entry point
│ └── package.json
│
├── server/ # Express Backend
│ ├── controllers/ # API controllers
│ ├── routes/ # API routes
│ ├── server.js # Entry point
│ └── package.json
│
└── README.md
Environment Variables
Server (server/.env)
PORT=5000
NODE_ENV=development
CLIENT_URL=http://localhost:5173
GEMINI_API_KEY=your_gemini_api_keyAPI Endpoints
| Endpoint | Method | Description |
|---|---|---|
/health |
GET | Health check |
/api/ai/generate |
POST | Generate interview questions |
Socket Events
| Event | Direction | Description |
|---|---|---|
join-room |
Client → Server | Join interview room |
call-user |
Client → Server | Initiate WebRTC call |
call-incoming |
Server → Client | Incoming call notification |
code-change |
Client → Server | Code editor sync |
send-message |
Client → Server | Chat message |
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- Monaco Editor - Code editor
- Piston API - Code execution
- Google Gemini - AI capabilities
- Socket.io - Real-time communication
Built with by Rushikesh