← All tools

Toolkit · Education

Quizzes

Embeddable quizzes with shareable challenges and live head-to-head play.

Screenshot of Quizzes

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.