Toolkit · Education
Quizzes
Embeddable quizzes with shareable challenges and live head-to-head play.
The problem
Quiz platforms want a subscription and put their branding on your content. Museums want a quiz embedded in their own page, in their own type, that a teacher can share with a class.
How it works
Each quiz is a single JSON file of fifteen questions. The widget mounts into a shadow root, so it can't inherit or fight your site's CSS. Results compress into a short shareable link, and two people can play head-to-head live.
Worth knowing
The multiplayer explanation is the clearest statement of the whole architecture: “GitHub Pages is static file hosting — there is nothing on it that can introduce two browsers to each other, and GitHub offers no service that does.” So live play runs peer-to-peer over WebRTC, using a free public broker purely to exchange connection details. No game state ever touches a server, because there is no server.
The repo is also honest that the score checksum is obfuscation, not security — if you attach a prize to a result, validate it somewhere you control.
Using it at your organization
- Copy an existing quiz JSON, change the questions, commit. No code changes.
- Facets and categories are defined in one index file.
- Live play depends on a free third-party broker; self-host it if usage grows.
Stack: Vanilla JavaScript · shadow DOM · WebRTC · GitHub Pages
Licence: MIT — use, modify and redistribute freely, commercially or not.
Hosting: static files; no server required.
Related tools
Built for the Theodore Roosevelt Presidential Library and released for anyone to use. See all 19 tools, or read how the whole system is built.


