Skip to content

Latest commit

 

History

History
89 lines (71 loc) · 2.86 KB

File metadata and controls

89 lines (71 loc) · 2.86 KB

Interview Gym 💪

The place to get reps and sets in to prepare for your next tech interview.


📖 Table of Contents

🔨 Tech Stack

🤩 Features

  • 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.

Set Up Development Environment

This is a Next.js project bootstrapped with create-next-app.

Create firebase project

  • Setup Authentication and firestore database
  • Download admin sdk private keys

Create Vapi Assistant

  • 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.

Setup .env file

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=

Getting Started

First, install packages (ensure running on node v22.14):

npm install

Then, run the development server:

npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev

Open http://localhost:3000 with your browser to see the result.

Credits

JS Mastery's online tutorial here