Building Intelligence That Evaluates Intelligence
CodeSage is an AI-powered technical interviewer that conducts live, adaptive coding interviews with human-like insight. Built for the Eightfold AI ร ArIES Hackathon.
- Live Code Tracking: Continuously monitors code as it's written
- Judge0 Integration: Secure code execution using industry-standard Judge0 API
- Multi-language Support: Execute code in 15+ programming languages
- Instant Error Detection: Real-time syntax and runtime error identification
- Performance Metrics: Execution time, memory usage, and Big O complexity analysis
- Test Case Validation: Automatic validation against predefined test cases
- Dynamic Difficulty: Adaptive problem complexity based on performance
- Progressive Hints: Three-tier hint system (Nudge โ Guide โ Direction)
- Context-Aware Questions: Intelligent follow-up questions based on code patterns
- Natural Conversation: Human-like interaction flow with voice integration
- Style Analysis: Adherence to coding standards (PEP 8, ESLint, etc.)
- Readability Scoring: Code clarity and maintainability assessment
- Methodology Detection: Problem-solving approach identification
- Optimization Suggestions: Performance improvement recommendations
- Visual Dashboard: Clean, intuitive metrics presentation for hiring managers
- Performance Summary: Human-readable candidate evaluation reports
- Session Playback: Complete interview replay with code evolution timeline
- Comparative Analysis: Candidate ranking and skill comparison tools
- Intuitive Interface: Seamless coding environment with real-time feedback
- Voice Integration: Audio input/output for natural conversation
- Multi-language Support: Support for Python, JavaScript, Java, C++, and more
- Accessibility: Screen reader compatible and keyboard navigation
- React 18 with TypeScript for type safety
- Vite for fast development and building
- Tailwind CSS for responsive, utility-first styling
- Monaco Editor for advanced code editing with syntax highlighting
- WebRTC for real-time audio communication
- Framer Motion for smooth animations and transitions
- Supabase for real-time database and authentication
- Edge Functions for AI processing and code analysis
- WebSocket connections for real-time communication
- Docker containers for secure code execution sandboxing
- OpenAI GPT-4 for intelligent interviewer responses
- Custom AST Parser for code structure analysis
- Static Analysis Tools (ESLint, Pylint) for quality assessment
- Performance Profilers for execution metrics
| Dimension | Weight | Description |
|---|---|---|
| Conversational Intelligence | 30% | Natural interaction, adaptive responses, context awareness |
| Analysis & Feedback Quality | 25% | Code assessment accuracy, hint relevance, insight depth |
| Performance & Reliability | 20% | System speed, stability, scalability, uptime |
| User Experience | 15% | Interface intuitiveness, accessibility, workflow efficiency |
| Innovation & Creativity | 10% | Novel features, creative solutions, technical excellence |
- Adaptive Intelligence: Dynamic problem difficulty and personalized interview flow
- Multi-modal Interaction: Seamless text and voice communication
- Real-time Analysis: Instant code quality and performance feedback
- Comprehensive Assessment: Beyond correctness to problem-solving methodology
- Scalable Architecture: Handles hundreds of concurrent interviews
- Bias Mitigation: Consistent, objective evaluation criteria
- Node.js 18+ and npm/yarn
- Supabase account for database services
- OpenAI API key for AI functionality
- RapidAPI account for Judge0 code execution (or self-hosted Judge0)
# Clone and install dependencies
npm install
# Start development server
npm run dev
# Run type checking
npm run typecheck
# Build for production
npm run build# Supabase Configuration
VITE_SUPABASE_URL=your_supabase_url
VITE_SUPABASE_ANON_KEY=your_supabase_anon_key
# AI Services
VITE_OPENAI_API_KEY=your_openai_api_key
# Judge0 Code Execution (Choose one option)
# Option 1: RapidAPI (Recommended)
VITE_RAPIDAPI_KEY=your_rapidapi_key_here
VITE_JUDGE0_API_URL=http://localhost:3258
# Option 2: Self-hosted Judge0
# VITE_JUDGE0_API_URL=http://localhost:2358
# VITE_JUDGE0_API_KEY=your_api_key_here๐ Judge0 Setup: For detailed instructions on setting up Judge0 for code execution, see JUDGE0_SETUP.md
src/
โโโ components/ # Reusable UI components
โ โโโ interview/ # Interview-specific components
โ โโโ dashboard/ # Admin dashboard components
โ โโโ common/ # Shared components
โ โโโ ui/ # Base UI components
โโโ services/ # API and external service integrations
โ โโโ supabase.ts # Database client
โ โโโ ai-interviewer.ts # AI service integration
โ โโโ code-analysis.ts # Code evaluation engine
โโโ hooks/ # Custom React hooks
โโโ utils/ # Utility functions and helpers
โโโ types/ # TypeScript type definitions
โโโ pages/ # Route components
โโโ Interview.tsx # Main interview interface
โโโ Dashboard.tsx # Admin/HR dashboard
โโโ Reports.tsx # Detailed reporting view
- Launch Application:
npm run devand visithttp://localhost:5173 - Try Judge0 Demo: Click "Launch Demo" to test code execution
- Test Different Languages: Switch between JavaScript, Python, Java, etc.
- Experience Features: Real-time execution, error handling, and test validation
- Join Interview: Enter session code or direct link
- Voice Setup: Audio/microphone permission and testing
- Problem Introduction: AI explains the coding challenge
- Live Coding: Real-time code analysis and feedback with Judge0 execution
- Interactive Discussion: Voice-based Q&A and hints
- Session Complete: Final assessment and next steps
- Create Session: Set up interview parameters and problems
- Monitor Live: Real-time candidate performance tracking
- View Analysis: Comprehensive code quality metrics
- Generate Report: Automated assessment summary
- Review Playback: Complete session replay and analysis
- Sandboxed Execution: Isolated code execution environment
- Data Encryption: End-to-end encryption for all communications
- GDPR Compliance: Privacy-first data handling and storage
- Access Controls: Role-based permissions and authentication
- Audit Logging: Complete interview session tracking
- Code Splitting: Lazy loading for optimal bundle sizes
- WebSocket Pooling: Efficient real-time connection management
- Caching Strategy: Smart caching for repeated analysis patterns
- CDN Integration: Global content delivery for low latency
- Progressive Enhancement: Graceful degradation for various devices