Skip to content

Alwin-385/IntervAI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IntervAI

AI Interview Intelligence Platform

Practice role-specific mock interviews, get scored feedback, analyze your resume, and track weak areas — built for candidates who want recruiter-grade preparation.


Live App API CI License

Live Demo · API Health · Report Bug


Live deployment

Service Platform URL
Frontend Vercel https://interv-ai-zeta.vercel.app
Backend API Render https://intervai-3ycg.onrender.com
Health check https://intervai-3ycg.onrender.com/api/v1/health
Source code GitHub github.com/Alwin-385/IntervAI

Note: The Render free tier may sleep when idle. The first request after a while can take 30–60 seconds while the API wakes up. Refresh the app if you see a connection error.


Screenshots

IntervAI landing page
Landing page — AI-native interview preparation

Dashboard overview
Dashboard — stats, activity, quick actions
Generated interview questions
Interview questions — role-tailored AI generation
Mock interview session with voice recording
Mock interview — voice answers & live captions
Resume analysis scores
Resume analysis — rubric scores & feedback
Personalized improvement roadmap
Roadmap — personalized prep plan
Analytics dashboard
Analytics — progress & weak areas

Add your images: Save screenshots as PNG files in docs/images/ using the filenames above. See docs/images/README.md for capture steps.

→ Try the live app


Features

Feature Description
Adaptive mock interviews LangGraph-powered question generation tailored to role, difficulty, resume, and weak areas
Voice answers Browser speech-to-text + audio upload; practice like a real video interview
Resume intelligence PDF upload, extraction, rubric-based scoring, and skill-gap insights
Structured evaluation Technical, behavioral, and communication scores with session summaries
Weak-area tracking Detect recurring gaps from answers and speech; feed into future questions
Personalized roadmaps AI improvement plans from your interview history
Analytics dashboard Progress trends, readiness scores, and activity overview
Secure auth Clerk sign-in with JWT-verified API access

Tech stack

Frontend

  • Next.js 15 · React 19 · TypeScript
  • Tailwind CSS · shadcn/ui
  • TanStack Query · Zustand
  • Framer Motion · Recharts
  • Clerk authentication

Backend

  • FastAPI · Python 3.12
  • SQLAlchemy 2.0 · Alembic
  • PostgreSQL (Supabase)
  • LangGraph orchestration
  • S3-compatible storage (Supabase)
  • Heuristic AI mode (no OpenAI key required)

Infrastructure (production)

┌─────────────────┐     HTTPS      ┌──────────────────┐
│  Vercel         │ ──────────────▶│  Render          │
│  Next.js app    │   REST + JWT   │  FastAPI API     │
└─────────────────┘                └────────┬─────────┘
                                            │
                    ┌───────────────────────┼───────────────────────┐
                    ▼                       ▼                       ▼
             ┌────────────┐          ┌────────────┐          ┌────────────┐
             │  Supabase  │          │   Clerk    │          │  Supabase  │
             │  Postgres  │          │   Auth     │          │  Storage   │
             └────────────┘          └────────────┘          └────────────┘

Local development

Prerequisites

  • Node.js 20+
  • Python 3.12+
  • PostgreSQL (or Docker Compose for infra)
  • Clerk dev keys

Quick start

# 1. Clone
git clone https://github.com/Alwin-385/IntervAI.git
cd IntervAI

# 2. Environment
copy backend\.env.example backend\.env
copy frontend\.env.example frontend\.env.local
# Fill in Clerk keys, DATABASE_URL, etc.

# 3. Start infra (Postgres, Redis, Qdrant) — optional for full stack
.\scripts\start-dev.ps1

# 4. Backend (terminal 1)
.\scripts\start-backend.ps1

# 5. Frontend (terminal 2)
.\scripts\start-frontend.ps1
Service URL
Frontend http://localhost:3000
Backend API http://localhost:8000
API docs http://localhost:8000/docs
Health http://localhost:8000/api/v1/health

See docs/TESTING.md for phase-by-phase testing checklists.


Project structure

IntervAI/
├── frontend/          # Next.js 15 application (Vercel)
├── backend/           # FastAPI API (Render)
├── docker/            # Dockerfiles for local dev
├── docs/              # Auth, resumes, testing guides
├── scripts/           # PowerShell dev helpers
└── .github/workflows/ # CI (lint + tests)

API overview

Base URL (production): https://intervai-3ycg.onrender.com

Endpoint Description
GET /api/v1/health Service health
GET /api/v1/me Current user (Clerk JWT)
POST /api/v1/resumes/upload Upload resume PDF
POST /api/v1/interviews/create Create interview session
POST /api/v1/interviews/{id}/generate-questions Generate questions
POST /api/v1/roadmap/generate Generate improvement roadmap
GET /api/v1/dashboard/overview Dashboard stats

Full interactive docs: http://localhost:8000/docs (local) or deploy Swagger on your API host.


Testing & quality

# Backend
cd backend
.\.venv\Scripts\pytest -m unit -q
.\.venv\Scripts\ruff.exe check app
.\.venv\Scripts\ruff.exe format --check app

# Frontend
cd frontend
npm test
npm run lint
npm run format:check

GitHub Actions runs lint and tests on every push to main.


Deployment summary

This project uses a free-tier production stack:

Layer Service Notes
Frontend Vercel Hobby Root dir: frontend
Backend Render Free Web Service Root dir: backend, Gunicorn + Uvicorn
Database Supabase PostgreSQL Session pooler URL
File storage Supabase Storage S3-compatible API
Auth Clerk Test keys for development

Key backend env vars for production:

  • BACKGROUND_JOBS_MODE=thread (no separate Celery worker on free tier)
  • INTERVIEW_QUESTIONS_HEURISTIC_ONLY=true
  • CORS_ORIGINS=https://interv-ai-zeta.vercel.app

Templates: backend/.env.production.example, frontend/.env.production.example


Documentation

Doc Topic
docs/TESTING.md Local testing by phase
docs/auth.md Clerk setup
docs/resumes.md Resume upload & extraction
docs/resume-analysis.md AI resume analyzer

Author

AlwinGitHub @Alwin-385

Built as a full-stack AI interview preparation platform with production deployment on Vercel + Render + Supabase.


interv-ai-zeta.vercel.app · Practice smarter. Interview with confidence.

About

Full-stack AI interview prep platform — mock interviews, resume analysis, voice answers, scoring, roadmaps, and analytics. Next.js + FastAPI + Clerk.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors