Real-time lecture engagement platform with AI-powered quiz generation. LectureRoyale transforms live lectures into interactive learning experiences by automatically generating quizzes based on what's being taught, featuring Kahoot-style room codes, real-time leaderboards, and confusion detection to keep students engaged and professors informed.
- Live Stream Integration: YouTube Live, Twitch, or direct stream URLs
- Room Code System: Kahoot-style room codes for easy joining
- AI Question Generation: Gemini-powered questions based on lecture content
- Real-time Transcription: WisprFlow audio-to-text for spoken content
- Visual Analysis: Overshoot SDK for slide/whiteboard text extraction
- Gamification: Points system with time decay, leaderboards
- Confusion Detection: "I'm Confused" button alerts professors when students are lost
- Node.js 18+
- API keys for: Gemini, WisprFlow, Overshoot
# Install all dependencies
npm run install:all
# Copy config and add your API keys
cp config.example.json config.json
# Edit config.json with your API keys# Run both server and client
npm run dev
# Or run separately:
npm run server # Backend on :3001
npm run client # Frontend on :5173npm run build
npm startEdit config.json:
{
"OVERSHOOT_API_KEY": "your_overshoot_key",
"WISPR_API_KEY": "your_wispr_key",
"GEMINI_API_KEY": "your_gemini_key"
}railway updocker build -t lecture-royale .
docker run -p 3001:3001 lecture-royaleProfessor Students
│ │
├── Stream URL ────────────►│
│ │
├── Audio ──► WisprFlow ────┤
│ │
├── Video ──► Overshoot ────┤
│ │
└───────► Context Engine ◄──┘
│
▼
Gemini LLM
│
▼
Quiz Questions ──────► Students
│
▼
Leaderboard
- Frontend: React + Vite
- Backend: Node.js + Express + Socket.io
- AI: Google Gemini
- Audio: WisprFlow WebSocket API
- Vision: Overshoot SDK