Open source · self-hosted · pre-1.0

Live quizzes you actually own.

QuizDock is an open-source, self-hosted live quiz platform with bright, projector-ready screens. Players join by PIN or QR with no account, and your data never leaves your servers.

Everything for a live game, on your infra

From the quiz builder to the projector, the leaderboard and the data export.

Real-time multiplayer

Socket.IO game engine with authoritative server timing. Players join a session by 6-digit PIN or QR code — from a handful to a few hundred.

🦄

Player avatars

Every player gets a unique, generated Multiavatar avatar — no upload, no account, instant identity on the leaderboard.

🖥️

Projector-ready

Bright, high-contrast light screens designed for the big screen. Separate projection and control windows, full-screen lobby, question, leaderboard and podium.

🧩

Quiz builder

Seven question types — single/multi choice, true-false, text, numeric, reorder and poll — with image & audio media and reusable quizzes.

🏆

Live scoring & podium

Time-weighted points with streak bonuses, a leaderboard between questions and a final podium. Manual or automatic pacing, pause & resume.

Player feedback

Players rate the quiz with stars and an optional comment at the end — and hosts get the aggregated ratings to see what landed.

💾

Answer capture

Optionally record every player's individual answers — for audit, certification or individual follow-up. Players are told when a session is recorded.

🔎

History & exploration

Browse archived sessions: per-question success rates, average times, and drill down into each player's score, streak and answer sheet.

📤

CSV export

Export overall session results and per-player answer sheets to CSV — ready for your spreadsheets, gradebooks or reporting.

🌍

Multilingual

Interface available in English, French, Spanish and Simplified Chinese. One language per instance, set in your configuration.

🏠

Self-hosted & private

Runs entirely on your own infrastructure with Docker. No SaaS, no third party, no ads. Players need no account; hosts can plug in OIDC when needed.

🎨

White-label

Rebrand the name, logo and CSS through an env var and a mounted folder — no rebuild. Make every instance look like yours.

Self-host in 2 minutes

Easiest — one container (app + database bundled), ideal on Docker Desktop:

docker run -p 18080:3000 -v quizdock:/data fchaussin/quizdock:standalone

# then open the app in your browser
open http://localhost:18080

Or, for production, the fchaussin/quizdock app image with your own Postgres / Redis via compose:

docker pull fchaussin/quizdock:latest
curl -O https://raw.githubusercontent.com/quizdock/quiz-dock/main/docker-compose.prod.yml
docker compose -f docker-compose.prod.yml up -d

# then open the app in your browser
open http://localhost:18080

Prefer building from source? git clone the repo and run the same compose with --build. Rebrand and pick a language without rebuilding via APP_NAME / APP_LANG and a mounted branding/ folder.

🇬🇧 English 🇫🇷 Français 🇪🇸 Español 🇨🇳 简体中文

How it works

  1. 1

    Host creates a session

    Build a quiz, hit present — QuizDock locks a server-side snapshot and shows a PIN.

  2. 2

    Players join by PIN or QR

    No account, no install. They pick a nickname and they are in the lobby instantly.

  3. 3

    Play, score, review

    Answer in real time, crown the podium, then explore results and export to CSV.

See it in action

From the quiz builder to the projector, the player and the podium.

Own your next quiz.

Pull the image or clone the repo, star it, and run it where your data belongs.