A modern, full-stack remote interview platform for seamless technical interviews, collaborative coding, and real-time feedback.
Try it now: remote-interview-platform-three.vercel.app
- Live Video Calls: High-quality, real-time interviews powered by Stream Video SDK.
- Interview Scheduling: Schedule, manage, and join interviews with ease.
- Collaborative Code Editor: Real-time code collaboration with syntax highlighting for JavaScript, Python, and Java.
- Recording & Playback: Record interviews and review past sessions.
- Feedback & Comments: Leave ratings and comments after interviews.
- Authentication: Secure login and user management with Clerk.
- Responsive UI: Beautiful, accessible design with Tailwind CSS and Geist font.
- Role Management: Distinct roles for candidates and interviewers.
- Convex Backend: Real-time data, scalable functions, and persistent storage.
Live Demo:
remote-interview-platform-three.vercel.app
- Frontend: Next.js, TypeScript, Tailwind CSS
- Backend: Convex (serverless functions & database)
- Video: Stream Video SDK
- Auth: Clerk
- UI: Geist Font, Lucide Icons
-
Clone the repo:
git clone https://github.com/liuyuelintop/remote-interview-platform.git cd remote-interview-platform -
Install dependencies:
npm install # or yarn install -
Set up environment variables:
Create a
.env.localfile and add your keys:NEXT_PUBLIC_STREAM_API_KEY=your_stream_api_key STREAM_SECRET_KEY=your_stream_secret NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key CLERK_SECRET_KEY=your_clerk_secret_key NEXT_PUBLIC_CONVEX_URL=your_convex_url -
Run the development server:
npm run dev # or yarn dev # or pnpm dev # or bun dev
-
Open http://localhost:3000 in your browser.
├── src/
│ ├── app/ # Next.js app directory
│ ├── components/ # UI components (CodeEditor, MeetingRoom, etc.)
│ ├── hooks/ # Custom React hooks
│ ├── constants/ # Shared constants (questions, languages, etc.)
│ ├── lib/ # Utility functions
│ └── actions/ # Server actions (Stream, etc.)
├── convex/ # Convex backend functions
├── public/ # Static assets (images, icons)
├── README.md
├── package.json
└── ...
Contributions, issues, and feature requests are welcome!
Feel free to open an issue or submit a pull request.
If you find this project useful, please consider starring this repository and sharing it with others!
This project is based on the amazing work by burakorkmez/streamify-video-calls and the YouTube tutorial.
Please refer to the original repository for license