Practice smart. Interview sharp. Get hired.
MockMind is a full-stack, AI-driven mock interview platform that generates personalized interview questions from your resume, evaluates your answers in real time, and produces a detailed performance report β all powered by Groq's LLaMA 3.1.
Live Demo β Β Β·Β Report Bug Β Β·Β Request Feature
Landing page β Setup wizard β Live interview β Performance report β Dashboard
| Feature | Description |
|---|---|
| π Resume Parsing | Upload PDF/TXT or paste text β AI extracts skills and projects |
| π§ AI Question Generation | 10 tailored questions per session via Groq LLaMA 3.1-8B |
| π» Monaco Code Editor | In-browser VS Code editor for coding & SQL questions |
| π Spreadsheet Workspace | Interactive grid for finance/accounting modeling questions |
| β‘ Real-time Evaluation | Per-answer scoring with feedback and ideal answer |
| π Performance Report | 4-dimension scoring: Communication, Technical Depth, Clarity, Confidence |
| ποΈ Dashboard | Session history, trend chart, average score, best score |
| π Authentication | Google OAuth + email/password via NextAuth.js |
| π€ Multi-Provider AI | Supports both Groq and Google Gemini 1.5 Flash |
| π± Responsive UI | Fully responsive with Framer Motion animations |
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Browser β
β Landing β /setup β /interview β /results β /dashboard β
βββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββ
β HTTP / Next.js App Router
βββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββ
β Next.js 14 Server β
β β
β /api/parse-resume β pdf-parse β extracted text β
β /api/generate-questions β Groq LLaMA 3.1 β 10 Qs β
β /api/evaluate-answer β Groq LLaMA 3.1 β score+feedbackβ
β /api/generate-report β Groq LLaMA 3.1 β final report β
β /api/auth/[...nextauth]β Google OAuth / Credentials β
β /api/user/sessions β Prisma ORM β PostgreSQL β
βββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββ
β Prisma Client
βββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββ
β PostgreSQL (Supabase / Neon) β
β Users table ββ Sessions table (cascading delete) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
| Layer | Technology |
|---|---|
| Framework | Next.js 14 (App Router) |
| Language | TypeScript 5 |
| Styling | Tailwind CSS 3 + Framer Motion |
| AI / LLM | Groq SDK (LLaMA 3.1-8B-Instant) + Gemini 1.5 Flash |
| Database ORM | Prisma 5 |
| Database | PostgreSQL (Supabase / Neon) |
| Auth | NextAuth.js v4 (Google OAuth + Credentials) |
| Code Editor | Monaco Editor (VS Code engine) |
| Charts | Recharts |
| PDF Parsing | pdf-parse |
| Deployment | Vercel |
- Node.js 18+
- A Groq API key (free tier available)
- A PostgreSQL database β Supabase (free tier) or Neon (free tier)
- A Google OAuth app (for Google Sign-In) β setup guide
git clone https://github.com/Jameers-code/interview_app.git
cd interview_appnpm installCopy the example env file and fill in your values:
cp .env.example .env.local# .env.local
# Groq AI (required for live AI responses)
GROQ_API_KEY=gsk_xxxxxxxxxxxxxxxxxxxx
# PostgreSQL connection string (Supabase or Neon)
DATABASE_URL=postgresql://postgres:password@db.xxxx.supabase.co:5432/postgres
# NextAuth
NEXTAUTH_SECRET=generate-a-random-32-char-string
NEXTAUTH_URL=http://localhost:3000
# Google OAuth (optional β app works without it via email login)
GOOGLE_CLIENT_ID=xxxx.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=GOCSPX-xxxxxxx
# Set to "true" if GROQ_API_KEY is configured server-side
NEXT_PUBLIC_HAS_DEFAULT_KEY=trueGenerate NEXTAUTH_SECRET:
openssl rand -base64 32
npx prisma generate
npx prisma db pushnpm run devOpen http://localhost:3000 in your browser.
- Push your code to GitHub
- Import the repo at vercel.com/new
- Add all environment variables from
.env.examplein the Vercel dashboard - Set
NEXTAUTH_URLto your production domain (e.g.https://mockmind.vercel.app) - Deploy
Note: Vercel serverless functions are stateless β make sure
DATABASE_URLpoints to a hosted PostgreSQL instance (Supabase or Neon), not a local SQLite file.
MockMind generates role-specific questions tailored to each domain:
| Role | Question Types |
|---|---|
| Frontend / Backend / Full Stack Engineer | Coding challenges, DSA, system design |
| DevOps Engineer | CI/CD pipelines, Kubernetes, cloud architecture |
| Data Scientist / ML Engineer | Python/pandas, model evaluation, pipeline design |
| Data Analyst | SQL queries, window functions, ETL architecture |
| Financial Analyst | DCF modeling, WACC, 3-statement models |
| Corporate Accountant | Ledger reconciliation, GAAP, balance sheet modeling |
| Product Manager | Product metrics, roadmap prioritization, user research |
interview_app/
βββ prisma/
β βββ schema.prisma # Database schema (User + Session models)
β βββ migrations/ # DB migration history
βββ public/
β βββ product_preview.png # Landing page preview image
βββ src/
β βββ app/
β β βββ api/
β β β βββ auth/ # NextAuth route handler
β β β βββ evaluate-answer/ # AI answer scoring endpoint
β β β βββ generate-questions/ # AI question generation endpoint
β β β βββ generate-report/ # AI final report endpoint
β β β βββ parse-resume/ # PDF/TXT parsing endpoint
β β β βββ user/sessions/ # Session history endpoint
β β βββ dashboard/ # Candidate analytics dashboard
β β βββ interview/ # Live interview simulator
β β βββ results/ # Post-interview report page
β β βββ setup/ # Interview configuration wizard
β β βββ page.tsx # Landing page
β βββ components/
β β βββ Header.tsx # Global navigation + auth modal
β β βββ ScoreChart.tsx # Recharts performance trend chart
β β βββ SessionList.tsx # Past sessions table component
β β βββ ...
β βββ lib/
β βββ auth.ts # NextAuth config (Google + Credentials)
β βββ groq.ts # Groq/Gemini AI abstraction layer
β βββ prisma.ts # Prisma client singleton
βββ .env.example # Environment variable template
βββ next.config.mjs # Next.js configuration
βββ vercel.json # Vercel deployment configuration
| Variable | Required | Description |
|---|---|---|
GROQ_API_KEY |
β | Groq API key for LLaMA 3.1 |
DATABASE_URL |
β | PostgreSQL connection string |
NEXTAUTH_SECRET |
β | Random secret for JWT signing |
NEXTAUTH_URL |
β | Full URL of your deployment |
GOOGLE_CLIENT_ID |
β¬ | Google OAuth client ID |
GOOGLE_CLIENT_SECRET |
β¬ | Google OAuth client secret |
NEXT_PUBLIC_HAS_DEFAULT_KEY |
β¬ | Set true if Groq key is server-configured |
MockMind includes a sandbox mode β if no API key is configured, the app falls back to intelligent mock responses so you can explore the full UI without any setup.
This project is licensed under the MIT License.
Jameer
- GitHub: @Jameers-code
Built with π§ and powered by AI.
