Skip to content

An intelligent interview preparation system that generates personalized questions based on candidate profiles and documents using RAG (Retrieval-Augmented Generation) technology.

Notifications You must be signed in to change notification settings

shankaraswal/rag-takemyinterview

Repository files navigation

RAG Interview Preparation Application

An intelligent interview preparation system that generates personalized questions based on candidate profiles and documents using RAG (Retrieval-Augmented Generation) technology.

Features

  • Multi-step persona assessment form
  • Document upload and processing (PDF, DOCX, TXT, RTF)
  • AI-powered question generation across multiple categories
  • Local-first processing for privacy
  • Export capabilities (PDF, Word, JSON)
  • Cross-platform support (Web + Desktop)

Project Structure

rag-interview-prep/
├── frontend/          # React TypeScript application
├── backend/           # FastAPI Python application
├── docs/              # Documentation
├── scripts/           # Development and deployment scripts
└── .kiro/             # Kiro specifications

Quick Start

Option 1: Docker (Recommended) 🐳

Prerequisites:

  • Docker and Docker Compose

One-command setup:

./scripts/docker-setup.sh

Development commands:

# Start application
./scripts/docker-dev.sh start

# View logs
./scripts/docker-dev.sh logs

# Stop application
./scripts/docker-dev.sh stop

# Restart services
./scripts/docker-dev.sh restart

# Check status
./scripts/docker-dev.sh status

Option 2: Manual Setup

Prerequisites:

  • Node.js 18+ and npm
  • Python 3.11+
  • Git

Setup steps:

# 1. Setup backend
cd backend
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
pip install -r requirements-minimal.txt
cp .env.example .env

# 2. Setup frontend
cd frontend
npm install

# 3. Start development servers
# Terminal 1 - Backend
cd backend && source venv/bin/activate && python main.py

# Terminal 2 - Frontend
cd frontend && npm run dev

Technology Stack

Frontend:

  • React 18 with TypeScript
  • Vite for build tooling
  • Tailwind CSS + shadcn/ui
  • Zustand for state management
  • React Hook Form + Zod validation

Backend:

  • FastAPI with Python 3.11+
  • LangChain for document processing
  • FAISS for vector search
  • SQLite for local storage
  • Sentence-Transformers for embeddings

Docker Commands

Basic Operations

# Start all services
docker-compose up -d

# Stop all services
docker-compose down

# View logs
docker-compose logs -f

# Check service status
docker-compose ps

# Rebuild services
docker-compose build --no-cache

Development Workflow

# Use the helper script for common operations
./scripts/docker-dev.sh start    # Start application
./scripts/docker-dev.sh logs     # View logs
./scripts/docker-dev.sh stop     # Stop application
./scripts/docker-dev.sh status   # Check status

Accessing Services

License

MIT License

About

An intelligent interview preparation system that generates personalized questions based on candidate profiles and documents using RAG (Retrieval-Augmented Generation) technology.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published