Where the project is going. Anything unchecked is open — if you want to work on something here, open an issue saying so and we will scope it with you.
- Quiz creation and hosting for registered users
- Unique join code, no account needed for participants
- Co-host invitations by email
- Real-time quiz flow over WebSockets
- Live dashboard after every question
- Final leaderboard
- Random avatars for participants
- Quiz history for organisers
- PDF upload → generated multiple-choice questions
- Prompt-driven generation (count, difficulty, topic)
- Host review step before anything is saved
- Output validation (exactly 4 options, exactly 1 correct answer)
- RAG question answering over an uploaded PDF (
/ask-pdf) - Chat with web search (
/chat) - Regenerate a single question without redoing the whole set
- Cache the vector store per PDF so repeat requests skip embedding
- Persist uploaded PDFs between requests
- PPT and DOCX input alongside PDF
- WebRTC host streaming
- Participant interaction during a live session
- In-quiz explanations after each question
- Recording and replay
- Dockerised development environment
- GitHub Actions CI (lint, type-check, build)
- Redis for pub/sub and live leaderboards
- WebSocket latency work — 466ms → ~9ms at thousands of concurrent users
- Horizontal WebSocket scaling across multiple nodes
- Kubernetes deployment
- Metrics and monitoring
- Automated test suite — currently the largest gap
- Load-testing harness
- Clear the ~20 eslint errors and make lint a blocking CI gate
- API documentation for the REST endpoints
- End-to-end test covering a full quiz run
- Mobile-responsive leaderboard and quiz screens
- Accessibility pass on the participant flow
Want to pick something up? Check good first issues or read CONTRIBUTING.md.