- Introduction
- Tech Stack
- Features
- Quick Start
- Architecture Overview
- Directory Overview
- Deployment
- Contributing
- Contact
EvalMeet is a powerful, modern platform designed for seamless technical interviews with:
- Real-time video calls
- Collaborative coding
- Commenting & feedback
- Scheduling workflows
- Automatic recording & playback
- Admin dashboards
- Beautiful UI powered by Tailwind + Shadcn
Built with Next.js 14, Convex, Clerk, and Stream Video SDK, EvalMeet provides a production-ready interview environment for teams, bootcamps, and organizations.
- Next.js 14 (App Router)
- Shadcn/UI
- TailwindCSS
- TypeScript
- Convex (realtime DB + functions)
- Stream Video SDK
- Clerk Authentication
- Vercel (hosting)
- Convex Cloud
- Stream Cloud Services
- HD Stream-powered video
- Auto device setup
- Participant state tracking
- Smooth join/leave UX
- Integrated collaborative code editor
- Comment dialogs
- Realtime updates via Convex
- Create/edit interview sessions
- Dashboard for upcoming meetings
- Unified meeting management
- Automatic session recording
- Playback UI
- Timestamps + metadata
- Manage interviews
- View recordings
- Track user activity
- Built-in theme switch using Shadcn
git clone https://github.com/Pratham22R/EvalMeet.git
cd pratham22r-evalmeetnpm install#Create a .env.local file:
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
CLERK_SECRET_KEY=
CLERK_WEBHOOK_SECRET=
NEXT_PUBLIC_CLERK_FRONTEND_API_URL=
CONVEX_DEPLOYMENT=
NEXT_PUBLIC_CONVEX_URL=
NEXT_PUBLIC_STREAM_API_KEY=
STREAM_SECRET_KEY=npm run devhttp://localhost:3000- App Router
- Server + client components
- Shadcn UI
- Realtime queries/mutations
- Data models for interviews, comments, recordings
- Room creation
- Recording pipeline
- Device & participant lifecycle
- User identity
- Route protection
pratham22r-evalmeet/
├── convex/
│ ├── auth.config.ts
│ ├── comments.ts
│ ├── interview.ts
│ ├── users.ts
│ └── schema.ts
├── src/
│ ├── app/
│ │ ├── (auth)/sign-in
│ │ ├── (auth)/sign-up
│ │ ├── (admin)/dashboard/
│ │ ├── meeting/
│ │ ├── recordings/
│ │ └── schedule/
│ ├── components/
│ │ ├── CodeEditor.tsx
│ │ ├── MeetingRoom.tsx
│ │ ├── RecordingCard.tsx
│ │ └── ui/
│ ├── providers/
│ ├── constants/
│ └── hooks/
├── public/
└── package.json- Vercel → Frontend
- Convex Cloud → Backend
- Stream Cloud → Video + Recording
- Fork repo
- Import to Vercel
- Add environment variables
- Deploy
Steps:
- Fork
- Create feature branch
- Commit
- Open PR
If you like EvalMeet, consider giving the repo a star 🌟 Your support helps the project grow!
Made with ❤️ by Pratham