"It just exposed how broken technical interviews are. Repetitive, predictable, and not really measuring what matters."
K0 is revolutionizing technical interviews by moving beyond whiteboard coding and LeetCode grinding. Instead of artificial coding challenges, we enable recruiters and interviewers to explore candidates' real projects in live, shared environments.
Traditional technical interviews are fundamentally broken:
- Whiteboard coding doesn't reflect real development work
- LeetCode challenges test memorization over engineering skills
- Artificial environments don't show how candidates actually build
- No accountability for claimed project experience
K0 transforms technical evaluation through:
Simply paste a GitHub URL and instantly explore the candidate's actual codebase alongside a live deployment - all in one shared environment.
Multiple participants can simultaneously navigate, discuss, and interact with the deployed application in real-time.
Support for multiple interview sessions running simultaneously, each with their own isolated environment.
Automatic containerization and deployment of GitHub repositories, providing consistent and secure execution environments.
- π One-Click GitHub Integration - Paste any GitHub URL to instantly clone and deploy
- π³ Automatic Docker Deployment - Seamless containerization of any project
- π₯ Real-time Collaboration - Multiple users can interact simultaneously
- π¬ Live Terminal Sharing - Share terminal output in real-time via WebSockets
- π’ Room Management - Isolated environments for different interview sessions
- βοΈ Cloud Infrastructure - Scalable deployment on AWS infrastructure
- π± Modern UI - Clean, responsive interface built with Next.js
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β Frontend β β Backend β β Infrastructureβ
β (Next.js) βββββΊβ (Go/Fiber) βββββΊβ (AWS/Docker) β
β β β β β β
β β’ React/TS β β β’ WebSocket API β β β’ S3 Storage β
β β’ WebSocket β β β’ Container Mgmtβ β β’ EC2 Instances β
β β’ Tailwind CSS β β β’ GitHub Client β β β’ Docker Engine β
β β’ Supabase β β β’ Supabase β β β’ Load Balancer β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
- Next.js 14 - React framework with App Router
- TypeScript - Type-safe development
- Tailwind CSS - Utility-first styling
- WebSocket API - Real-time communication
- Supabase Client - Database integration
- Go - High-performance backend language
- Fiber - Express-inspired web framework
- WebSocket - Real-time bidirectional communication
- Docker SDK - Container management
- AWS SDK - Cloud service integration
- Docker - Containerization platform
- Amazon S3 - Object storage
- Amazon EC2 - Compute instances
- Supabase - PostgreSQL database with real-time features
- GitHub API - Repository integration
- Go 1.21+
- Node.js 18+
- Docker Desktop
- AWS Account (for cloud features)
- Supabase Account
-
Clone the repository
git clone <repository-url> cd K0/backend
-
Install dependencies
go mod download
-
Configure environment
cp .env.example .env # Edit .env with your configuration -
Run the server
go run cmd/server/main.go
The backend will start on http://localhost:3009
-
Navigate to frontend directory
cd client/k0-frontend -
Install dependencies
npm install
-
Configure environment
cp .env.local.example .env.local # Edit .env.local with your configuration -
Start development server
npm run dev
The frontend will start on http://localhost:3000
- Create a Room - Start a new interview session
- Share GitHub URL - Paste the candidate's repository link
- Explore Together - Navigate the codebase and deployed application
- Real-time Discussion - Collaborate in the shared environment
- Join the Room - Access the shared interview environment
- Present Your Work - Walk through your actual project
- Live Demonstration - Show features and explain architecture
- Answer in Context - Discuss code with the actual implementation visible
- Repository Cloning - GitHub repository is automatically cloned
- Docker Build - Project is containerized using its Dockerfile
- Environment Deployment - Container is deployed to cloud infrastructure
- WebSocket Connection - Real-time terminal and UI sharing begins
- Collaborative Session - Multiple users interact in shared environment
Create .env file in the backend directory:
# Supabase Configuration
SUPABASE_URL=your_supabase_url
SUPABASE_ANON_KEY=your_supabase_anon_key
# AWS Configuration
AWS_ACCESS_KEY_ID=your_aws_access_key
AWS_SECRET_ACCESS_KEY=your_aws_secret_key
AWS_REGION=your_aws_region
S3_BUCKET_NAME=your_s3_bucket
# Application Configuration
PORT=3009
FRONTEND_URL=http://localhost:3000The application uses Supabase with the following main tables:
running_rooms- Active interview sessionsroom_participants- User participation trackingterminal_outputs- Real-time terminal logs
π§ Early Development - We have a working prototype with:
β Completed Features:
- Live multiplayer environments
- Concurrent breakout rooms
- GitHub repository cloning
- Docker deployment pipeline
- WebSocket real-time communication
- Basic UI/UX implementation
π In Progress:
- Enhanced security and sandboxing
- Performance optimizations
- Extended language/framework support
- Advanced collaboration features
π― Roadmap:
- IDE-like code editing capabilities
- Voice/video integration
- Analytics and insights
- Enterprise features
Built with passion by Sam and Martin.
Questions or feedback? We'd love to hear from you!
"If you say you built something, you better be ready to back it up β because now it's right there on the screen."