-
-
Admin dashboard to create skill assessment
-
ATS friendly resume builder
-
AI based question generation in admin dashboard
-
AI-based voice assistant for mock interview
-
Community to share interview experience
-
Anti Cheating Skill Assessment test (Eyes out of Screen)
-
Anti Cheating Skill Assessment test (Eyes on Screen)
-
Home Page
Inspiration
After watching friends and peers struggle through opaque hiring processes and generic interview prep tools, I wanted to build a single platform that delivers realistic practice, data-driven feedback, and community support—while giving recruiters a secure, scalable way to evaluate talent.
Tech Stack, Libraries & Tools
- NextJS – Server-side rendering & routing
- Firebase & Firebase Admin SDK – Real-time database, authentication, and server-side operations
- face-api.js – Browser-based face detection for proctoring & eye-tracking
- TensorFlow.js – In-browser machine learning models
- Vapi – Voice AI integration for mock interview assistant
- Gemini SDK – Google’s Gemini models for NLP feedback
- Zod – TypeScript-first schema validation
- jsPDF – Client-side PDF generation for downloadable resumes
What I Learned
- In-Browser AI: How to load and run TensorFlow.js and face-api.js models efficiently without blocking the UI.
- Voice-Driven UX: Integrating Vapi for seamless speech-to-text and text-to-speech flows, and shaping dialogs for natural Q&A.
- Schema Validation: Using Zod to enforce strict data contracts across frontend forms, API endpoints, and resume parser inputs.
- PDF Workflows: Generating high-quality, ATS-compatible resumes on the client with jsPDF, including dynamic templates and user data binding.
- Real-Time Security: Balancing proctoring accuracy and performance with face-api.js and TensorFlow.js heuristics for eye-tracking and tab-focus monitoring.
How I Built It
- Frontend (NextJS + React + Tailwind CSS):
- Server-side routes for interview sessions and resume downloads
- Dynamic component library for mock interview UI, resume builder, and forum
- Server-side routes for interview sessions and resume downloads
- Backend (Firebase + Firebase Admin SDK):
- Secure user authentication & role management
- Firestore collections for interview logs, resumes, and community posts
- Secure user authentication & role management
- AI/ML Integration:
- Deployed face-api.js models in a Web Worker to track gaze and flag tab-switch events
- Leveraged TensorFlow.js for real-time NLP analysis of candidate responses
- Connected to Gemini SDK for advanced feedback on language quality and content
- Deployed face-api.js models in a Web Worker to track gaze and flag tab-switch events
- Voice Assistant (Vapi):
- Configured conversational flows for role-specific Q&A
- Tuned speech recognition and synthesis models to minimize latency
- Configured conversational flows for role-specific Q&A
- Resume Generation:
- Built resume templates as HTML/CSS components
- Used jsPDF to export filled templates into ATS-friendly PDF
- Built resume templates as HTML/CSS components
- Community Forum:
- Real-time chat and threaded discussions powered by Firestore listeners
- Moderation tools and schema-validated post submissions via Zod
- Real-time chat and threaded discussions powered by Firestore listeners
Challenges Faced
- Performance vs. Accuracy: Running ML models in the browser introduced latency; I optimized by batching inference and offloading to Web Workers.
- Cross-Browser Proctoring: Achieving consistent face detection and eye-tracking across devices and lighting conditions required extensive testing and fallback heuristics.
- Data Validation: Ensuring every resume field and forum post conformed to our schemas meant building robust Zod validators and detailed error handling.
- PDF Fidelity: Translating complex HTML/CSS templates into high-fidelity PDFs with jsPDF involved fine-tuning layout calculations and embedded font handling.
Built With
- face-api
- firebase
- nextjs
- vapi
Log in or sign up for Devpost to join the conversation.