The place to get reps and sets in to prepare for your next tech interview.
- Framework: Next.js
- Styling: Tailwind CSS
- UI Components: shadcn
- Authentication & storage: Firebase
- Voice Assistant: Vapi AI
- AI Assistant: Google Gemini
- Deployment: Vercel
- Authentication: Sign up and sign in using the traditional email and password, your Google account or Github account.
- Create Interviews: Easily generate job interviews to practice on with Vapi voice assistant and Google Gemini
- Get feedback from AI: Take the interview with the AI voice agent and receive instant feedback!
- Interview Page: Conduct interviews with real-time feedback and detailed transcripts, almost as if you're on Microsoft teams.
- Dashboard: Manage and track your interviews and interviews created by other users.
This is a Next.js project bootstrapped with create-next-app.
- Setup Authentication and firestore database
- Download admin sdk private keys
- Setup Assistant and workflow (for interview generation)
- Current workflow:
- Hello, {{ username }}! Let's prepare your interview. I'll ask you a few questions and generate a perfect interview just for you. Are you ready?
- Collect role, type (technical or behavioural), level, amount (as in no of questions), techstack
- Make post request with collected data
- Say interview has been generated and thank user for call.
Ensure you have the following information
NEXT_PUBLIC_VAPI_WEB_TOKEN=
NEXT_PUBLIC_VAPI_WORKFLOW_ID=
GOOGLE_GENERATIVE_AI_API_KEY=
NEXT_PUBLIC_BASE_URL=
NEXT_PUBLIC_FIREBASE_API_KEY=
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=
NEXT_PUBLIC_FIREBASE_PROJECT_ID=
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=
NEXT_PUBLIC_FIREBASE_APP_ID=
NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID=
FIREBASE_PROJECT_ID=
FIREBASE_CLIENT_EMAIL=
FIREBASE_PRIVATE_KEY=
First, install packages (ensure running on node v22.14):
npm installThen, run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun devOpen http://localhost:3000 with your browser to see the result.
JS Mastery's online tutorial here