AI-Powered Interview Transcript Analysis Platform
A production-ready, full-stack AI application that transforms interview transcripts into actionable insights using advanced language models and multi-agent AI systems. Built with modern technologies and industry best practices for developers, recruiters, and HR professionals.
InterviewInsight AI is a sophisticated platform that leverages cutting-edge AI technology to analyze interview transcripts and extract meaningful insights. Whether you're a developer showcasing AI skills, a recruiter analyzing candidate interviews, or an HR professional reviewing performance discussions, this platform provides enterprise-grade transcript analysis capabilities.
- π€ Advanced AI Analysis: Multi-agent system powered by LangGraph with Claude 3.5 Haiku integration
- π Intelligent Insights: Automatic timeline extraction, entity recognition, and sentiment analysis
- π― Real-time Processing: Live analysis with progress indicators and comprehensive results
- ποΈ Production-Ready: Docker containerization, comprehensive testing, and CI/CD ready
- π¨ Modern UI/UX: Responsive design with shadcn/ui components and smooth animations
- π§ Developer-Friendly: Hot-reload, comprehensive documentation, and excellent tooling
- Timeline Extraction: Automatic parsing of timestamps and event categorization
- Entity Recognition: Identification of people, companies, technologies, and locations
- Sentiment Analysis: Highlights and lowlights extraction with confidence scoring
- Topic Modeling: Key topic identification and categorization
- Structured Output: JSON-formatted results for easy integration and analysis
- Research Assistant: Web search and mathematical calculations using DuckDuckGo
- Transcript Analyzer: Specialized agent for interview analysis with custom tools
- Extensible Framework: Easy addition of new agents and specialized capabilities
- Conversation Threading: Persistent state management across analysis sessions
- Backend: FastAPI with SQLAlchemy 2.0, async operations, and comprehensive API documentation
- Frontend: Next.js 15 with App Router, React 19, and TypeScript 5.8+
- Database: Flexible storage with PostgreSQL (production) or SQLite (development)
- DevOps: Docker Compose environments for development, testing, and production
graph TB
subgraph "Frontend (Next.js 15)"
A[React Components] --> B[API Routes]
B --> C[Type-Safe Env]
A --> D[shadcn/ui Components]
A --> E[Tailwind CSS]
end
subgraph "Backend (FastAPI)"
F[API Endpoints] --> G[Multi-Agent System]
G --> H[LangGraph Agents]
H --> I[Claude/OpenAI APIs]
F --> J[Database Layer]
J --> K[(PostgreSQL/SQLite)]
end
subgraph "AI Agents"
L[Research Assistant]
M[Transcript Analyzer]
N[Custom Agents]
end
B --> F
H --> L
H --> M
H --> N
- Framework: FastAPI (Python 3.11+)
- AI/ML: LangGraph, LangChain, Anthropic Claude, OpenAI
- Database: SQLAlchemy 2.0, PostgreSQL, Alembic migrations
- Tools: Pydantic V2, UV package manager, Pytest
- Deployment: Docker, Gunicorn, health checks
- Framework: Next.js 15 with App Router
- Language: TypeScript 5.8+ with strict mode
- UI/UX: shadcn/ui, Radix UI, Tailwind CSS 4.0, Framer Motion
- Tools: pnpm, ESLint, Prettier, T3 Env
- Containers: Docker & Docker Compose
- Package Managers: UV (Python), pnpm (Node.js)
- Quality: Ruff, MyPy, ESLint, Prettier
- Testing: pytest, Jest (ready), Playwright (ready)
- Python 3.11+ (for backend)
- Node.js 18+ (for frontend)
- Docker & Docker Compose (optional, for PostgreSQL)
- UV (Python package manager)
- pnpm (Node.js package manager)
git clone <repository-url>
cd interview-insight-ai
Perfect for development and coding interviews:
cd backend
cp env.example .env
echo "STORAGE_TYPE=memory" >> .env
# Install dependencies
uv sync
# Start the backend
uv run python -m src.app.main
For production-like development:
cd backend
cp env.example .env
# Edit .env with your settings
# Start with Docker
make dev-up
# Or manually start PostgreSQL and run:
# uv run python -m src.app.main
cd frontend
pnpm install
# Start development server
pnpm dev
- Frontend: http://localhost:3000
- Backend API: http://localhost:8000
- API Documentation: http://localhost:8000/docs
- Interactive API: http://localhost:8000/redoc
# In backend/.env
ANTHROPIC_API_KEY=your-anthropic-api-key
OPENAI_API_KEY=your-openai-api-key
Note: The application works without API keys using mock responses for development.
interview-insight-ai/
βββ backend/ # FastAPI backend with AI capabilities
β βββ src/
β β βββ app/
β β βββ agents/ # Multi-agent AI system
β β β βββ agent.py # Agent registry and orchestration
β β β βββ research_assistant.py # Web search & calculation agent
β β β βββ transcript_analyzer.py # Interview analysis agent
β β β βββ tools.py # AI tools (search, calculator, etc.)
β β βββ api/ # REST API endpoints
β β βββ core/ # Core application logic
β β βββ schemas/ # Pydantic data models
β β βββ main.py # Application entry point
β βββ tests/ # Comprehensive test suite
β βββ docker/ # Environment-specific Docker configs
β βββ migrations/ # Database migrations (PostgreSQL)
β βββ pyproject.toml # Python dependencies and tooling
β βββ README.md # Backend documentation
βββ frontend/ # Next.js 15 frontend
β βββ src/
β β βββ app/ # Next.js App Router
β β β βββ page.tsx # Homepage with transcript analyzer
β β β βββ analysis/ # Analysis results page
β β β βββ api/ # Backend proxy API routes
β β βββ components/ # React components
β β β βββ ui/ # shadcn/ui component library
β β β βββ transcript-analyzer.tsx # Main analysis interface
β β β βββ analysis-dashboard.tsx # Results visualization
β β β βββ ... # Other app components
β β βββ types/ # TypeScript type definitions
β β βββ env.js # Type-safe environment config
β βββ package.json # Node.js dependencies and scripts
β βββ README.md # Frontend documentation
βββ README.md # This file
- Web Search: Real-time information retrieval using DuckDuckGo
- Mathematical Calculations: Safe expression evaluation with NumExpr
- General Q&A: Claude-powered responses with conversation threading
- Timeline Extraction: Automatic parsing of timestamps and event categorization
- Entity Recognition: Identification of people, companies, technologies, locations
- Sentiment Analysis: Highlights and lowlights extraction
- Topic Modeling: Key topic identification and categorization
- Structured Output: JSON-formatted results for frontend integration
# Research Assistant
curl -X POST http://localhost:8000/api/v1/agent/research-assistant/invoke \
-H "Content-Type: application/json" \
-d '{
"message": "What is the current population of Tokyo?",
"model": "claude-3-5-haiku-latest"
}'
# Transcript Analyzer
curl -X POST http://localhost:8000/api/v1/transcript/analyze \
-H "Content-Type: application/json" \
-d '{
"transcript_text": "Interviewer: Tell me about your Python experience...",
"model": "claude-3-5-haiku-latest"
}'
cd backend
# Quick development (in-memory)
echo "STORAGE_TYPE=memory" > .env
uv run python -m src.app.main
# Full development (PostgreSQL)
make dev-up # Start containers
make test # Run tests
make lint # Check code quality
make format # Format code
# Database management
make migrate # Create and apply migrations
make revision # Create new migration
make upgrade # Apply migrations only
cd frontend
# Development
pnpm dev # Start dev server with Turbo
pnpm build # Build for production
pnpm preview # Build and serve
# Code quality
pnpm lint # ESLint check
pnpm lint:fix # Fix ESLint issues
pnpm typecheck # TypeScript check
pnpm format:write # Format with Prettier
# Terminal 1 - Backend
cd backend && echo "STORAGE_TYPE=memory" > .env && uv run python -m src.app.main
# Terminal 2 - Frontend
cd frontend && pnpm dev
# Terminal 3 - Development commands
cd backend && make test # Run backend tests
cd frontend && pnpm check # Frontend quality checks
cd backend
# Run all tests
make test
# Run with coverage
make test-all
# Run in Docker environment
make test-env
# Specific test categories
uv run pytest tests/unit/ # Unit tests only
uv run pytest tests/integration/ # Integration tests only
cd frontend
# When implemented:
pnpm test # Jest unit tests
pnpm test:watch # Watch mode
pnpm test:e2e # Playwright E2E tests
cd backend
make prod-up # Start production containers
Production features:
- Gunicorn with multiple workers
- PostgreSQL with persistent volumes
- Health checks and monitoring
- Environment-based configuration
cd frontend
pnpm build # Build optimized bundle
pnpm start # Start production server
Production features:
- Optimized bundle with code splitting
- Static asset optimization
- Environment variable validation
- Performance monitoring ready
# Storage
STORAGE_TYPE=postgres # or "memory" for development
POSTGRES_SERVER=localhost
POSTGRES_DB=interview_insight_db
POSTGRES_USER=postgres
POSTGRES_PASSWORD=your_password
# AI Configuration
ANTHROPIC_API_KEY=your-key
OPENAI_API_KEY=your-key
# Application
ENVIRONMENT=production
DEBUG=false
# Backend API URL
BACKEND_URL=http://localhost:8000
# Skip environment validation for Docker builds
SKIP_ENV_VALIDATION=false
- Type Safety: Full MyPy coverage with strict mode
- Code Style: Ruff for linting and formatting (120 char line length)
- Testing: 90%+ test coverage with pytest
- Documentation: Comprehensive docstrings and API documentation
- Type Safety: Strict TypeScript with comprehensive type definitions
- Code Style: ESLint + Prettier with Tailwind class sorting
- Components: shadcn/ui patterns with accessibility standards
- Performance: Optimized bundle sizes and Core Web Vitals
- Git: Conventional commits with clear commit messages
- Documentation: README files for each major component
- Environment: Type-safe environment variable validation
- Dependencies: Regular updates with security monitoring
- Create agent module in
backend/src/app/agents/
- Implement using LangGraph patterns
- Register in agent registry
- Add API endpoints
- Create frontend integration
- Use shadcn/ui CLI:
pnpx shadcn@latest add <component>
- Follow existing component patterns
- Maintain accessibility standards
- Add TypeScript definitions
- Create Pydantic schemas
- Add SQLAlchemy models
- Generate migrations:
make revision
- Apply migrations:
make upgrade
- Fork the repository
- Create feature branch:
git checkout -b feature/amazing-feature
- Commit changes:
git commit -m 'feat: add amazing feature'
- Test thoroughly: Run test suites and quality checks
- Push branch:
git push origin feature/amazing-feature
- Create Pull Request with detailed description
- Type safety maintained (no TypeScript errors)
- Tests added/updated for new functionality
- Documentation updated (README, docstrings)
- Code quality checks pass (linting, formatting)
- Performance impact considered
- Accessibility standards maintained
- Security implications reviewed
- Async Operations: Full async/await support with SQLAlchemy 2.0
- Connection Pooling: Database connection optimization
- Caching: Ready for Redis integration
- Monitoring: Health checks and metrics endpoints
- Core Web Vitals: Optimized for LCP, FID, and CLS
- Code Splitting: Automatic route-based and dynamic imports
- Image Optimization: Next.js built-in image optimization
- Bundle Analysis: Built-in bundle analyzer
- Horizontal Scaling: Stateless design with external session storage
- Database Scaling: PostgreSQL with read replicas support
- CDN Ready: Static asset optimization for CDN distribution
- Load Balancing: Container-ready for orchestration platforms
- Input Validation: Pydantic models for all API inputs
- SQL Injection Protection: SQLAlchemy ORM with parameterized queries
- Environment Variables: Secure configuration management
- CORS Configuration: Proper cross-origin resource sharing setup
- XSS Protection: React built-in XSS protection
- Type Safety: TypeScript prevents many runtime errors
- Environment Validation: Type-safe environment variable handling
- Dependency Scanning: Regular security updates
- API keys stored securely (not in code)
- HTTPS enabled in production
- Database credentials secured
- CORS configured for production domains
- Input validation on all endpoints
- Error messages don't leak sensitive information
- FastAPI: Official Documentation
- Next.js 15: App Router Guide
- LangGraph: Multi-Agent Documentation
- shadcn/ui: Component Library
- Tailwind CSS: Utility-First CSS
- Python FastAPI: Best Practices Guide
- React/Next.js: React Patterns
- TypeScript: TypeScript Handbook
- Testing: Testing Best Practices
- Port 8000 in use: Use
lsof -ti:8000 | xargs kill -9
to free the port - Database connection: Check PostgreSQL is running and credentials are correct
- AI API errors: Verify API keys are set correctly or use development mode
- Port 3000 in use: Next.js will automatically use the next available port
- Build errors: Run
pnpm install
to ensure all dependencies are installed - Type errors: Run
pnpm typecheck
to identify and fix TypeScript issues
- UV not found: Install UV following official instructions
- pnpm not found: Install pnpm with
npm install -g pnpm
- Docker issues: Ensure Docker Desktop is running and up-to-date
- Check Documentation: README files in backend/ and frontend/
- Review Issues: Check existing GitHub issues for similar problems
- Enable Debug Mode: Set
DEBUG=true
in backend environment - Check Logs: Review container logs with
docker logs <container-name>
- Create Issue: Open detailed issue with reproduction steps
This project is licensed under the MIT License - see the LICENSE file for details.
- FastAPI for the excellent async Python framework
- Next.js team for the outstanding React framework
- Anthropic for Claude AI capabilities
- Vercel for shadcn/ui and development tools
- LangChain team for the AI/ML framework
- Open Source Community for the amazing tools and libraries
Built with β€οΈ for developers who want to ship AI-powered applications quickly and reliably.
For detailed component documentation, see: