Open source · AGPL-3.0
An open-source quiz platform you can read, run and change
Every part of Buzrr — the website, the real-time game server and the AI service — is public on GitHub. Use the hosted version at buzrr.in, or take the code and run it yourself.
Is Buzrr open source?
Yes. Buzrr is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). The complete source is at github.com/buzrr/buzrr. You can use, study, modify and share it; if you distribute a modified version, or run one as a network service that others use, you must make its source available under the same license. The license text has the details.
What is Buzrr?
Buzrr is an open-source quiz platform that runs in the browser. A host builds a multiple-choice quiz — by hand or with AI — and opens a live room; players join from their own phones or laptops with a 6-character code, a link or a QR code, without creating an account. Signed-in users can also play ranked 1v1 quiz battles. Buzrr is licensed under AGPL-3.0, so anyone can read the code or run their own instance.
What's in the repository
A Turborepo monorepo with Yarn 4 workspaces. The Python service is optional; the rest is TypeScript.
| Path | Stack | What it does |
|---|---|---|
| apps/web | Next.js 15, React 19 | The website and every screen — host, player and duel. Also hosts sign-in (Better Auth with Google). |
| apps/server | NestJS 11, Socket.IO | REST API, the WebSocket gateway and the game engine that runs every timer, phase change and score. |
| apps/ai | Python 3.12, FastAPI, arq | Optional. Knowledge Spaces: document ingestion, pgvector retrieval and cited question generation. |
| packages/prisma | Prisma, PostgreSQL | The database schema, migrations and the shared client. |
How the game engine is built
The design decisions that make a live quiz fair, from the repository's ARCHITECTURE.md.
The server owns the game
Clients only send intent — start, next, submit answer. Timing, phase transitions and scoring all happen on the server, so a slow or modified client can't bend the rules.
The server owns the clock
Answer time is measured by the server from when the question opened, and deadlines go to clients as durations, so device clock drift doesn't change anyone's score.
Live state in Redis, results in Postgres
A running game lives in Redis. Postgres only stores the room record and the finished result, keeping the database out of the hot path.
Built for more than one server
Socket.IO uses the Redis adapter, and each game's timers are owned through a Redis lock, so several server instances can run side by side.
Read the full write-up in ARCHITECTURE.md on GitHub.
What the open-source code gives you
Live hosted quiz rooms
The host runs the room from one screen and moves it along question by question. Players join with a 6-character room code, a join link or a QR code.
Ranked 1v1 quiz battles
Seven questions against one opponent, matched by ELO rating. If nobody near your rating is queuing, you get a bot opponent instead of an empty wait.
AI quiz generation
Describe a topic and Buzrr drafts up to 15 multiple-choice questions with Google Gemini. Edit anything before you host.
Quizzes from your documents
Upload PDF, DOCX, TXT or Markdown files to an AI Knowledge Space. Generated questions cite the passage they came from, and you export the ones you keep into a quiz.
Speed-based scoring
A correct answer earns up to 1,000 points, sliding to 100 at the time limit; wrong answers score 0. Answer time is measured on the server, not on the player's device.
Self-hostable
Run your own instance on your own infrastructure. Self-hosted instances run with billing off and Pro limits.
Open source and Buzrr Pro
- The hosted version at buzrr.in has a free plan and an optional Pro subscription. Pro pays for the hosted infrastructure.
- Billing is switched off unless an instance sets BILLING=ON. Self-hosted instances run without a payment provider, and every account gets Pro limits.
- Nothing is held back from the repository: the billing code is in it too, behind that switch.
Contributing
- Fork the repo, branch off main and open a pull request — the steps are in CONTRIBUTING.md.
- Commits follow Conventional Commits (feat:, fix:, docs:…). A pre-commit hook runs lint and type checks.
- Architecture docs and decision records live in the repo, so you can see why things are built the way they are before changing them.
- Bugs and ideas go to GitHub issues.
Want to run it rather than change it? See how to self-host Buzrr.
Looking for an open-source alternative?
- Kahoot! alternativeLive rooms with a code, speed scoring and leaderboards — open source, self-hostable, plus ranked 1v1 battles.
- Quizizz (now Wayground) alternativeFor people who used Quizizz for its live quiz game, now that it has become Wayground.
- QuizUp alternativeRanked 1v1 battles of seven timed questions, in the browser — QuizUp shut down in 2021.
- Run a self-hosted quiz serverWhat you need to run your own Buzrr instance, and what changes when you do.
What people run on it
- Live quizzes for the classroomPut a code on the projector, students join from their phones or school laptops, and you run a quick review or a revision game in the time it takes to take attendance.
- Quiz rounds for college fests and club eventsFest quiz rounds, society inductions, freshers' nights, hackathon breaks — Buzrr gets a hall full of people answering on their own phones with one QR code on the screen.
- Knowledge checks for training sessionsTurn a training document into a live quiz at the end of the session: generate questions from the material, check what landed, and keep the whole thing on your own servers if you need to.
Star it, fork it, or just play
The code is on GitHub. The hosted version is free to start.