Real Time Multiplayer
Quizmo
A Kahoot-style multiplayer quiz platform built for Lithuanian community events. Players join via QR code, compete in real time, and see live leaderboards.

Status
Live
Platform
Web (any device)
Frontend
Vercel
Backend
Hetzner VPS
Why I built this
As president of the Lithuanian Youth Society in Denmark, I needed an interactive quiz tool for community events. Kahoot's free tier was too limited and English-only. I built Quizmo for full control: Lithuanian language, custom scoring, and themed content about our culture, history, and sports.
How it works
Pick topics and game mode


Players join and pick avatars


Real time gameplay with power-ups


Results, reactions, and podium



Key features
5 game modes
Classic, Elimination, Team, Survival (single-player with lives and accelerating timer)
Power-ups
Freeze, Shield, Double points
Bilingual (EN/LT)
Server-side translation, zero flash, cached batch requests
Daily news quizzes
7 topics auto-generated from BBC/Reuters/NYT via Claude AI
7 question types
Standard, bluff, audio, video, fastest-finger, year-guesser, wager
PWA + quiz editor
Installable on mobile, create and edit quizzes in browser
Tech stack
Frontend
Real time
Started SSE, migrated to WebSocket for persistent connections
AI and APIs
Infrastructure
Architecture
Dual deploy: Next.js on Vercel, WebSocket multiplayer server on Hetzner VPS (PM2 managed). Vercel rewrites proxy /mp/* requests for free HTTPS.
Started with SSE, migrated to WebSocket to solve Vercel's 25s serverless timeout. Persistent connections with auto-reconnect.
Clock skew correction: server sends its timestamp with each question so all devices show the same countdown.
What I learned
- -Real-time multiplayer needs explicit handling for race conditions, disconnects, and clock skew.
- -SSE is underrated. Simpler than WebSockets and works great behind proxies.
- -Building for a real community gives you feedback loops you can't get from side projects nobody uses.