Skip to content

AWS powered AI interview practice platform with real-time voice communication for students and professionals.

Notifications You must be signed in to change notification settings

sahu-adarsh/prepai

Repository files navigation

PrepAI - AI-Powered Interview Preparation Platform

AWS Bedrock Next.js FastAPI Python TypeScript

Real-time voice-enabled AI interview preparation platform powered by AWS Bedrock, featuring live conversation practice, code execution, CV analysis, and comprehensive performance analytics.

Features

  • Voice Conversations - Real-time Speech-to-Text and Text-to-Speech via WebSocket streaming
  • 8 Interview Types - Google/Amazon/Microsoft SDE, AWS/Azure/GCP Solutions Architect, Behavioral, Coding
  • Live Code Editor - Monaco editor with code execution, test cases, and quality metrics
  • CV Analysis - PDF/DOCX parsing with AWS Textract and industry-specific skill extraction
  • Performance Analytics - Percentile benchmarks, trend analysis, and detailed reports
  • AI Agent - Claude 3 Haiku with 3 specialized Lambda action groups

Quick Start

1. Backend Setup

cd backend
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate
pip install -r requirements.txt
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000

2. Frontend Setup

cd frontend
npm install
npm run dev

3. Deploy Lambda Functions

cd lambda-tools
sam build
sam deploy --guided --capabilities CAPABILITY_NAMED_IAM

4. Configure Bedrock Agent

  • Create agent with Claude 3 Haiku model
  • Add action groups: CodeExecutor, CVAnalyzer, PerformanceEvaluator
  • Attach Lambda ARNs from SAM deployment output
  • Update agent instructions (see condensed-agent-instructions.txt)

Architecture

┌─────────────┐      WebSocket       ┌──────────────┐
│   Next.js   │ ◄──────────────────► │   FastAPI    │
│   Frontend  │                      │   Backend    │
└─────────────┘                      └───────┬──────┘
                                             │
                 ┌───────────────────────────┼────────────────┐
                 │                           │                │
            ┌────▼────┐               ┌──────▼─────┐   ┌──────▼──────┐
            │ Bedrock │               │    S3      │   │   Lambda    │
            │  Agent  │               │  Storage   │   │  Functions  │
            └─────────┘               └────────────┘   └─────────────┘

Tech Stack

  • Frontend: Next.js 15.5, React 19, TypeScript, TailwindCSS, Monaco Editor, Recharts
  • Backend: FastAPI, Python 3.12, WebSockets, Boto3
  • AI/ML: AWS Bedrock (Claude 3 Haiku), AWS Textract
  • Serverless: AWS Lambda, SAM CLI
  • Storage: AWS S3

Demo Pages

Visit http://localhost:3000/demo to explore:

  • CV Upload & Analysis
  • Code Editor with Test Runner
  • Performance Dashboard & History

API Endpoints

  • Sessions: POST /api/sessions, GET /api/sessions/{id}, DELETE /api/sessions/{id}
  • Interviews: POST /api/interviews/{id}/start, POST /api/interviews/{id}/upload-cv
  • Code: POST /api/code/execute, GET /api/code/{id}/submissions
  • Analytics: GET /api/analytics/aggregate, GET /api/analytics/benchmarks/{type}
  • WebSocket: ws://localhost:8000/ws/{session_id}

Configuration

Environment Variables

# Backend (.env)
AWS_REGION=us-east-1
S3_BUCKET_USER_DATA=prepai-user-data
BEDROCK_AGENT_ID=your-agent-id
BEDROCK_AGENT_ALIAS_ID=your-alias-id

# Frontend (.env.local)
NEXT_PUBLIC_API_URL=http://localhost:8000
NEXT_PUBLIC_WS_URL=ws://localhost:8000

Built with AWS Bedrock Agents | Real-time Voice AI Interview Practice

About

AWS powered AI interview practice platform with real-time voice communication for students and professionals.

Resources

Stars

Watchers

Forks

Packages

No packages published