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
- Host: GitHub
- URL: https://github.com/mikael-duru/mockwise
- Owner: Mikael-duru
- Created: 2025-07-04T14:53:45.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-07-30T12:58:22.000Z (11 months ago)
- Last Synced: 2025-08-17T00:10:18.004Z (10 months ago)
- Topics: firebase, gemini, nextjs, typscript, vapi
- Language: TypeScript
- Homepage: https://mockwise-kohl.vercel.app
- Size: 1.44 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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.