- 🤖 Introduction
- ⚙️ Tech Stack
- 🔋 Features
- 🤸 Quick Start
- 🔗 Environment Variables
- 📂 Project Structure
- 🚀 Deployment
IntervuAI is a React Native mobile application that helps users prepare for job interviews through AI-powered mock interviews. The app uses voice AI technology (Vapi) to conduct realistic interview simulations and provides detailed feedback to help users improve their interview skills.
- React Native with Expo
- TypeScript
- Firebase Authentication & Firestore
- Vapi AI for voice conversations
- React Navigation
- Tailwind CSS (NativeWind)
- Google Gemini for interview feedback
👉 User Authentication: Secure sign up and sign in with email/password through Firebase
👉 Customized Interviews: Create interviews tailored to specific job positions and experience levels
👉 AI Voice Interviews: Realistic interview simulations with AI-powered voice conversations
👉 Real-time Feedback: Receive immediate feedback on your interview performance
👉 Interview History: Track your progress with a history of past interviews
👉 Transcript & Analysis: Review detailed transcripts and AI analysis of your responses
👉 User-friendly Interface: Intuitive and responsive design built with modern UI components
Follow these steps to set up the project locally.
Prerequisites
- Node.js (v14.0 or later)
- npm or yarn
- Expo CLI (
npm install -g expo-cli)
Cloning the Repository
git clone https://github.com/your-username/ReactNative_AI_Interview_App.git
cd ReactNative_AI_Interview_App/appInstallation
npm install
# or
yarn installSet Up Environment Variables
Create a .env file in the app directory based on the .env.example template.
Running the Development Server
npm start
# or
yarn startThen, you can run on your preferred platform:
npm run android
# or
npm run ios
# or
npm run webTo run this project, you need to set up the following environment variables in a .env file:
# Firebase Configuration
FIREBASE_API_KEY=your-api-key
FIREBASE_AUTH_DOMAIN=your-auth-domain
FIREBASE_PROJECT_ID=your-project-id
FIREBASE_STORAGE_BUCKET=your-storage-bucket
FIREBASE_MESSAGING_SENDER_ID=your-messaging-sender-id
FIREBASE_APP_ID=your-app-id
# Vapi AI Voice Settings
VAPI_WEB_TOKEN=your-vapi-web-token
VAPI_WORKFLOW_ID=your-vapi-workflow-id
# Google Gemini API
GOOGLE_GENERATIVE_AI_API_KEY=your-google-api-key
# App Base URL
BASE_URL=your-base-urlapp/
├── src/
│ ├── components/ # Reusable UI components
│ ├── screens/ # Screen components
│ ├── navigation/ # Navigation configuration
│ ├── context/ # React context providers
│ ├── services/ # API and Firebase services
│ ├── hooks/ # Custom React hooks
│ └── utils/ # Utility functions
├── assets/ # Images, fonts, etc.
├── App.js # Main component
├── app.json # Expo configuration
├── package.json # Dependencies
└── tailwind.config.js # TailwindCSS configuration
Expo Build
Build your app for Android and iOS using Expo's build service:
expo build:android # For Android
expo build:ios # For iOSFirebase Setup
- Create a Firebase project at Firebase Console
- Enable Authentication (Email/Password) and Firestore Database
- Add your app to the Firebase project and copy the configuration details
- Update your
.envfile with the Firebase configuration