An open API service indexing awesome lists of open source software.

https://github.com/mikael-duru/mockwise

An AI-powered platform for preparing for mock interviews
https://github.com/mikael-duru/mockwise

firebase gemini nextjs typscript vapi

Last synced: 2 months ago
JSON representation

An AI-powered platform for preparing for mock interviews

Awesome Lists containing this project

README

          

# πŸ§‘β€πŸ’Ό MockWise β€” AI Mock Interview Platform

MockWise helps candidates practice realistic voice interviews and get actionable AI feedback β€” all in a simple, modern experience.

---

## 🧰 Tech Stack

| Tech | What it Does |
|--------------------|---------------------------------------------------|
| **Next.js 15** | App Router, Server Actions, SSR |
| **Tailwind CSS** | Utility-first styling |
| **shadcn/ui** | Accessible, reusable React components |
| **Vapi** | Voice AI workflow β€” dynamic spoken conversations |
| **Gemini AI** | Google’s LLM β€” generates questions & feedback |
| **Firebase** | Auth and Firestore database |
| **Cloudinary** | Image upload, storage, and on-the-fly optimization|

---

## πŸŽ™οΈ Built for Practice Interviews

- βœ… **Realistic Voice Interviews** β€” Vapi handles spoken conversation flow.
- 🧠 **Dynamic AI Questions** β€” Gemini generates custom, role-specific interview questions.
- πŸ“Š **Constructive Feedback & Scoring** β€” Gemini analyzes transcripts and provides detailed performance scores.
- πŸ”’ **Secure Authentication** β€” Firebase Auth with both Google and email/password sign-in. User data is protected with strict Firestore rules.
- ☁️ **Image Uploads** β€” Cloudinary stores and optimizes user profile pictures.
- 🎨 **Modern UI** β€” Tailwind CSS and shadcn/ui keep the interface accessible, clean, and responsive.

---

## πŸ“¦ Installation
1. Clone the repository:
```bash
git clone https://github.com/Mikael-duru/mockwise.git
cd mockwise
```
2. Install dependencies:
```bash
npm install
```
3. Set up environment variables in a `.env` file:
```env
# Firebase
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_PRIVATE_KEY=
FIREBASE_CLIENT_EMAIL=

# Gemini
GOOGLE_GENERATIVE_AI_API_KEY=

# Vapi
NEXT_PUBLIC_VAPI_WEB_TOKEN=
NEXT_PUBLIC_VAPI_WORKFLOW_ID=

# Cloudinary
NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME=
CLOUDINARY_API_KEY=
CLOUDINARY_API_SECRET=
```
4. Run the development server:
```bash
npm run dev
```
5. Open `http://localhost:3000` in your browser.

---
Built with ❀️ and Nextjs.