A secure, production-ready platform for conducting technical interviews and pair programming sessions.
Built with Node.js, Firebase, and vanilla JavaScript for maximum performance and simplicity.
Live Demo β’ Quick Start β’ Features β’ Tech Stack β’ Contributing
| β
Zero Setup No accounts needed for candidates |
β‘ Real-time Sync See changes instantly across all participants |
π 16+ Languages JavaScript, Python, Java, C++, Go, Ruby, and more |
Run code directly in the browser |
π Interview Analytics Track candidate behavior and performance |
π¬ Slack Integration Export results directly to your team |
Try it now: OpenCollab Live Demo
Beautiful Landing Page
- Animated code particles background
- Clear role selection (Interviewer vs Candidate)
- Feature highlights at a glance
Interviewer Login
- Secure JWT authentication
- Clean, professional interface
- Password reset functionality
Admin Dashboard - Session Management
- View all active/ended sessions
- Real-time session statistics
- Quick actions for each session
- Export capabilities
Live Coding Session
- Real-time collaborative editor
- Multiple language support
- Live code execution
- Participant presence indicators
Interview Notes & Feedback (Feature)
Advanced note-taking features:
- Structured feedback forms
- Real-time note synchronization
- Rating system for different skills
- Hiring recommendations
- Export to Slack/Email
- Markdown support for formatting
- Timestamped observations
- Code snippet references
Session Analytics (Feature)
- Activity timeline
- Code changes history
- Time spent analysis
- Candidate behavior tracking
- Tab switch detection
- Copy/paste monitoring
Deploy your own instance in seconds:
# Clone the repository
git clone https://github.com/humancto/CollabCode.git
cd CollabCode
# Install dependencies
npm install
# Set up environment variables
cp .env.example .env
# Edit .env with your configuration
# Generate admin password hash
node generate-password-hash.js "YourSecurePassword123!"
# Start development server
npm run dev
# Open http://localhost:3000Setup time: Under 3 minutes! β±οΈ
π Admin Dashboard
- Create unlimited interview sessions
- Manage active sessions in real-time
- View candidate activity and metrics
- Export session data to Slack/CSV
- Session recording and playback
π Interview Notes & Feedback System
Comprehensive note-taking during interviews:
- Real-time Notes: Take notes while watching candidates code
- Structured Feedback: Pre-defined categories for consistent evaluation
- Skill Ratings: Rate candidates on technical skills, problem-solving, communication
- Hiring Recommendations: Clear yes/no/maybe with justification
- Code Annotations: Reference specific code snippets in your notes
- Timestamp Tracking: Automatic timestamps for observations
- Markdown Support: Format notes with headings, lists, code blocks
- Template System: Use predefined interview question templates
- Collaborative Notes: Multiple interviewers can add notes simultaneously
- Export Options: Send to Slack, email, or download as PDF/JSON
π Analytics & Insights
- Real-time activity tracking
- Code change history
- Time spent per problem
- Candidate behavior patterns
- Performance metrics
- Tab switch detection
- Copy/paste monitoring
- Typing speed analysis
π Security Features
- JWT-based authentication
- Encrypted session data
- Role-based access control
- Session isolation
- Automatic cleanup
- IP tracking for audit logs
π» Professional Editor
- Syntax highlighting for 16+ languages
- Auto-completion and IntelliSense
- Multiple themes (Monokai, GitHub, Solarized, etc.)
- Customizable editor settings
- Vim/Emacs key bindings
π Code Execution
- Run code in real-time
- Support for multiple languages
- Input/output handling
- Error highlighting
- Performance metrics
π€ Collaboration Tools
- Real-time cursor tracking
- Live code synchronization
- Built-in chat (coming soon)
- Screen sharing (coming soon)
- Voice/video calls (coming soon)
- Frontend: Vanilla JavaScript, HTML5, CSS3
- Backend: Node.js, Express.js
- Database: Firebase Realtime Database
- Editor: ACE Editor with Firepad
- Authentication: JWT + bcrypt
- Deployment: Vercel (serverless functions)
- Code Execution: Piston API
OpenCollab/
βββ π api/ # Serverless API endpoints
β βββ auth/ # Authentication endpoints
β βββ sessions/ # Session management
βββ π scripts/ # Client-side JavaScript
β βββ app.js # Main application logic
β βββ auth-api.js # Authentication handling
βββ π styles/ # CSS styles
βββ π lib/ # Libraries and SDKs
βββ π index.html # Landing page
βββ π app.html # Main application
βββ π package.json # Dependencies
Create a .env file with the following variables:
# Admin Credentials
ADMIN_EMAIL=admin@yourcompany.com
ADMIN_PASSWORD_HASH=<generated_hash>
JWT_SECRET=<random_secret_key>
# Firebase Configuration
FIREBASE_PROJECT_ID=your-project-id
FIREBASE_CLIENT_EMAIL=firebase-adminsdk@your-project.iam.gserviceaccount.com
FIREBASE_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----"
# Optional
SLACK_WEBHOOK_URL=https://hooks.slack.com/services/YOUR/WEBHOOK
APP_DOMAIN=https://your-domain.com- Create a new Firebase project
- Enable Realtime Database
- Add security rules from
database.rules.secure.json - Generate service account key
- Update
lib/firebase-sdk.jswith your config
"CollabCode transformed our hiring process. Setup took 5 minutes, and candidates love the clean interface."
β Sarah Chen, Engineering Manager at TechCorp
"Finally, a collaborative editor that just works. No complex setup, no accounts, just pure functionality."
β Mike Johnson, Senior Developer
"We've conducted over 80 interviews using CollabCode. The real-time sync is flawless!"
β Emily Rodriguez, Tech Lead
We love contributions! See our Contributing Guide for details.
- π΄ Fork the repository
- πΏ Create a feature branch (
git checkout -b feature/AmazingFeature) - π» Make your changes
- β
Run tests (
npm test) - π Commit (
git commit -m 'Add AmazingFeature') - π€ Push (
git push origin feature/AmazingFeature) - π Open a Pull Request
Looking for a place to start? Check out our good first issues!
- Built-in video/audio calling
- AI-powered code suggestions
- Custom problem sets
- Team collaboration features
- Mobile application
- IDE plugins (VS Code, IntelliJ)
- Advanced analytics dashboard
- White-label solution
- AI interview assistant
- Automated skill assessment
- Integration with ATS systems
- Enterprise features
This project is licensed under the MIT License - see the LICENSE file for details.
- ACE Editor - The high performance code editor
- Firebase - Real-time database and hosting
- Piston - Code execution engine
- Vercel - Deployment and serverless functions
- π§ Email: support@opencollab.dev
- π¬ Discord: Join our community
- π Issues: Report bugs
- π‘ Ideas: Feature requests
β Star us on GitHub β it helps!
Made with β€οΈ by HumanCTO
