Practice real interviews with AI-powered practice and instant feedback.
This platform helps candidates prepare for interviews by simulating live sessions with an AI interviewer and providing detailed performance analysis.
π Live Demo: Deployed Site
- Features
- System Architecture Overview
- Agent Intelligence & Persona Handling
- Design Decisions & Reasoning
- UI/UX Design
- Tech Stack
- Getting Started
- Demo Video
- License
- Contact
- Sign up with your details to create an account.
- Secure login to track interview history and progress.
- Choose from popular interview presets (different roles & positions), or start a custom AI interview directly.
- Configure your session:
- Role youβre applying for
- Experience level
- Interview type (Technical, Behavioral, or Mixed)
- Grant microphone permission so the AI interviewer can interact with you in real time.
- Conversation history is displayed at the bottom of the screen.
- Once you finish, the AI generates a comprehensive feedback report, including:
- Overall Impression score (e.g., 2/100)
- Interview date & time
- Detailed breakdown of:
- Communication
- Problem-Solving
- Technical Knowledge
- Behavioral Skills
- Strengths & Areas for Improvement
- Example feedback:
"The candidate has potential but needs to work on providing more comprehensive and well-structured answers. Focusing on clarity, detail, and specific examples will improve overall performance."
- Track all your past interviews and improvements over time from your personal dashboard.
- View scores, summaries, and AI feedback for each practice session.
Below are the architecture notes describing how PulseAI processes voice conversations, evaluates answers, and stores interview results.
User β Vapi Voice Agent β Backend API β Gemini LLM β Firestore DB β Back to User
PulseAI goes beyond basic Q&A by adapting to different user behaviors:
| Persona Type | Agent Response |
|---|---|
| Confused User | Guides with role suggestions & clarifying questions |
| Efficient User | Shorter interviews, direct questions, less small talk |
| Chatty User | Acknowledges but steers conversation back to topic |
| Edge Case User | Handles impossible or off-topic requests politely |
Each response is generated based on the user's intent and interview progress.
- Chose voice-first approach to improve realism and confidence building
- Used Gemini for detailed interview scoring and follow-up logic
- Firestore stores all interview history to track progress over time
- Stateless computing through serverless Firebase Functions for scalability
- Minimal UI, optimized for quick practice sessions
The design for this project was first prototyped in Figma.
π Figma Design: View Design
- Frontend: React (Next.js 13+), TypeScript, TailwindCSS
- AI: Gemini (for Q&A generation, evaluation, and feedback)
- Voice Assistant: VAPI for real-time conversational interviews with mic access
- Backend: Firebase (Auth, Firestore, Storage, Functions)
- Hosting: Vercel (frontend) + Firebase Functions (backend APIs)
git clone https://github.com/TuShArBhArDwA/PulseAI
cd PulseAI
npm installCreate .env.local in the root with:
# Firebase
NEXT_PUBLIC_FIREBASE_API_KEY=xxx
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=xxx
NEXT_PUBLIC_FIREBASE_PROJECT_ID=xxx
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=xxx
NEXT_PUBLIC_FIREBASE_APP_ID=xxx
# AI & Voice
GEMINI_API_KEY=your_gemini_key
VAPI_API_KEY=your_vapi_key
# Backend
NEXT_PUBLIC_API_BASE_URL=http://localhost:5001/<project-id>/us-central1/apinpm run dev # frontend (Next.js)
firebase emulators:start # backend (Firestore/Auth/Functions)http://localhost:3000Watch the product demonstration showcasing multiple personas, adaptive interviews, and feedback:
Video:
Tushar.Bhardwaj_s.Video.-.Nov.24.2025-VEED.mp4
This project is licensed under the MIT License - see the LICENSE file for details.
- Meet T-Bot - Discover My Work
- Tushar Bhardwaj - Portfolio
- Connect 1:1 - Topmate
- GitHub: TuShArBhArDwA
- LinkedIn: Tushar Bhardwaj
- Email: tusharbhardwaj2617@example.com
