This project is one of the closest things I’ve built.
I worked on it during my internship for a company hackathon, where I was the only developer on my team. We ended up winning 1st place in my second week, which made this project even more meaningful to me.
It became a core part of my resume and something I genuinely enjoyed building and presenting.
HeyGen sunset their API and introduced the new Live Avatar system:
- 🔗 Migration guide: https://docs.liveavatar.com/docs/interactive-avatar-migration-guide
- 💰 Pricing: https://docs.liveavatar.com/docs/credits-and-subscriptions
I successfully migrated the system from HeyGen to Live Avatar, including:
- Real-time avatar session handling (LiveKit)
- Event-driven voice interaction loop
- Integration with a RAG-based interview engine
While the migration is technically complete, the new credit-based pricing model is significantly more expensive per session.
This makes it difficult to:
- Run continuous demos
- Maintain a publicly accessible version
- Showcase the avatar feature reliably
The core system remains fully functional and is the main highlight of this project:
- RAG-based interview question retrieval (Pinecone + embeddings)
- Dynamic role-based interview flow
- Context-aware conversational AI loop (follow-ups, adaptive questioning)
- Real-time interaction pipeline
This project reflects a real-world engineering tradeoff:
External platform changes can directly impact product feasibility, even when the system itself is technically sound.
This project still means a lot to me.
I may revisit it in the future if pricing or infrastructure constraints change.
VI Mock Interview Agent is an AI-powered video platform designed for practicing mock interviews with smart feedback and question generation.
- Interactive Video Interviews: Engage in realistic face-to-face mock interviews with our AI interviewer
- Technical & Behavioral Questions: Practice both technical coding challenges and behavioral scenarios
- Real-time Feedback: Get instant feedback on your responses and body language
- 24/7 Availability: Practice interviews whenever you need, at your own pace
- Complete Privacy: Your interview sessions are encrypted and secure
- Frontend: Next.js 15, React 18, TypeScript
- UI: Tailwind CSS, Radix UI, Framer Motion
- Video: LiveKit for real-time video communication
- AI: OpenAI GPT-4, Google Gemini for intelligent responses
- Database: Prisma with PostgreSQL (NeonDB)
- Vector Database: Pinecone for semantic search
- Authentication: NextAuth.js
- File Upload: UploadThing
- Clone the repository
- Install dependencies:
npm install - Set up environment variables (see
.env.example) - Run database migrations:
npm run start:prisma - Start the development server:
npm run dev
Make sure to set up the following environment variables:
LIVEKIT_API_KEY- LiveKit API key for video functionalityLIVEKIT_API_SECRET- LiveKit API secretNEXTAUTH_SECRET- NextAuth.js secretDATABASE_URL- PostgreSQL database URLPINECONE_API_KEY- Pinecone API keyOPENAI_API_KEY- OpenAI API keyGEMINI_API_KEY- Google Gemini API keyUPLOADTHING_SECRET- UploadThing secret
- Sign up for an account
- Complete your profile with relevant information
- Choose between technical or behavioral interview practice
- Start your mock interview session
- Receive feedback and suggestions for improvement
This project is part of an internal hackathon. For questions or contributions, please contact the development team.
This project is proprietary and confidential.
