Live Quiz Platform

Feature Catalog

Audience Anyone — author, stakeholder, prospective user
Generated 2026-06-10
Source of truth .claude/context/knowledgebase/feature-catalog.md

Single-page rollup of every feature shipped, in progress, or planned across the four apps + the shared platform + the quiz authoring catalogue. For deeper context see the PRD (detailed product spec) or the Build plan (engineering checklist).


Every feature shipped, in progress, or planned across the Quiz platform. Each entry is a high-level feature; sub-features sit in a foldout block (### Sub-features) under it so the catalog reads at a glance and zooms in on demand. For implementation status + ordering see the per-app build plans under build-plan/; for protocol / schema detail see Architecture; for the user-flow inventories see UI Surfaces.

Scope chips on each H2 drive per-app filtering — *{designer}* / *{host}* / *{client}* / *{remote}* / *{project}* (cross-cutting). Phase chips ride inline on each bullet: [MVP] / [Alpha] / [Beta] / [Production] / [Stretch].

The platform is four apps: Designer authors quizzes, Host runs the TV-show display, Client is the team phone/tablet, Remote is the quizmaster's pocket controller. The Designer is single-author desktop (Windows + macOS); Host is desktop; Client + Remote are phone/tablet (iOS + Android).


Phase legend

project


Quiz lifecycle (author)

designer

Authoring a quiz — create, save, open, recover. The starting and ending point of every authoring session.

Sub-features13 sub-features
  • MVP Create a new quiz with title, description, and tags.
  • MVP Save a quiz to disk as a .quiz file.
  • MVP Re-open an existing .quiz file from disk.
  • MVP First-slide-on-open auto-selection — the slide list highlights slide 1 as soon as a quiz loads.
  • MVP Quiz title bar shows Slide N · {slide name} with selection echoed across canvas + properties panels.
  • MVP Autosave runs invisibly; the unsaved-changes dot stays until the user explicitly Saves.
  • MVP Restore-from-backup picker — pick a prior snapshot from a tiered list (now / 5 min / 1 h / 6 h / 1 d / 7 d ago).
  • MVP Corruption banner offers the most recent surviving backup when an open fails.
  • MVP Recovery banner surfaces orphaned drafts from unclean shutdowns on next launch.
  • Stretch Sign in to a cloud account.
  • Stretch Save to cloud with version history; restore prior versions.
  • Stretch Soft-delete + 30-day trash view.
  • Stretch Clone a quiz template as the starting point for a new quiz.

Slides and rounds

designer

A quiz is an ordered list of slides, optionally grouped into rounds. Authors organise the spine of the quiz here.

Sub-features9 sub-features
  • MVP Add, edit, rename, reorder, and delete slides.
  • MVP Inline slide rename in the slide list (double-click).
  • MVP Group contiguous slides into rounds with a round title + round-level scoring metadata; ungroup; reorder rounds.
  • MVP Empty-round shell: "+ Round" appends an empty round at the end when no slide is selected.
  • MVP Per-round "+ Add slide to round" button under each round group.
  • MVP Footer "+ Add slide" pinned to the bottom of the slide list — always appends a standalone slide.
  • MVP Multi-select slides via Shift+click (range) + Ctrl/Cmd+click (additive); canvas + preview render "X SLIDES SELECTED".
  • MVP Slide-deletion cleanly drops deleted ids from selection state — downstream panels never render against a stale id.
  • MVP Drag-reorder slides; drag-into-round / drag-out-of-round.

Canvas authoring

designer

Two independent canvases per slide — the Host (TV / projector) canvas and the Client (phone / tablet) canvas. Authors place + arrange elements on each.

Sub-features14 sub-features
  • MVP Host canvas — fixed virtual 1920×1080, free placement with absolute coordinates.
  • MVP Client canvas — responsive layout (anchors / regions / stack) that adapts across phone, tablet, portrait, landscape.
  • MVP Place, configure, move, reorder, and delete elements on either canvas.
  • MVP Element drag with pixel-accurate visualisation in the embedded preview.
  • MVP Multi-element selection on the canvas:
  • Shift+drag marquee selects every element under the rectangle.
  • Ctrl/Cmd+click toggles an element's inclusion in the selection.
  • Dragging any one selected element moves the whole group keeping relative positions.
  • Delete / copy / cut / duplicate operates on the full selection.
  • MVP Canvas visibility toggle — show Host only, Client only, or both side-by-side.
  • MVP Element count + drag-hint shown beneath each canvas.
  • MVP Cross-canvas drag (drop an element from Host onto Client moves it across).
  • MVP Round number + slide title breadcrumb above the canvas.
  • MVP Pan + zoom on the canvas viewport; auto-fit on first paint + on container resize.

Element inspector

designer

Per-element configuration in the properties panel, including reveal triggers and animation. The right pane of the authoring shell.

Sub-features7 sub-features
  • MVP Properties inspector for the currently-selected element shows that element's type-specific editor.
  • MVP Text element exposes font family, size, and colour.
  • MVP Per-element reveal trigger (on slide entry / on quizmaster trigger / after delay) and reveal animation.
  • MVP Per-slide and per-round scoring rules (point values, time bonuses, late-submission penalties).
  • MVP Per-slide and round-default timing (slide duration, time-up locks Client input?, late submissions accepted?, late-submission scoring rule, live quizmaster timer override?).
  • MVP Host-notes — free-form markdown per slide, edited below the canvas. Render only on Remote + Host operator window; never on the audience display or Clients.
  • MVP Notes pane has an edit / preview toggle.

Object-type palette

designer

The "Insert" panel — every object type the author can drop onto a canvas. The v1 catalogue is hard-coded (bundle-supplied types are Stretch).

Sub-features10 sub-features
  • MVP Browse the v1 built-in palette and drag any object type onto either canvas.
  • MVP MVP cohort: text, multiple-choice (single-answer), free-text, first-letter A–Z, numeric (exact OR closest-wins), eliminator, ranking ("sort it out"), buzzer, true-false, timer, leaderboard, plus a small set of layout primitives.
  • Alpha Cohort grows: image, audio clip (with playTrigger), video, image-reveal input.
  • Beta Cohort grows: mini-game element, match-pairs input, word-scramble buzzer. Multiple-choice gains optional multi-answer, elimination schedule, and speed-bonus curve extensions.
  • Beta Wager slides — per-slide scoring-rule extension; Clients pick a multiplier before locking.
  • Beta Bingo mode — quiz-manifest opt-in; per-team 5 × 5 picture grid on the Client + slide-order randomisation per session.
  • Stretch Drawing input (touch-drawing).
  • Stretch Categories input ("Name 5 X").
  • Stretch Hotspot input (tap-on-image coordinates).
  • Stretch Bundle-supplied object types — third-party types installable into the Designer.

Media + asset bundling

designer

Authors attach images, audio, and video as quiz resources. Team-customisation assets (buzzer jingles + premade avatars) are bundled inside the .quiz so the package stays self-contained.

Sub-features5 sub-features
  • Alpha Attach images, audio, and video to a quiz; reference from element properties.
  • MVP Bundle buzzer jingles inside the .quiz — short audio clips teams pick from at join.
  • MVP Bundle a premade avatar set inside the .quiz — image files teams pick from at join if they don't take a photo.
  • MVP Built-in default-library browser for jingles + starter avatars; selections copied into the active .quiz so the package stays self-contained when shared.
  • Stretch Cloud media library — pull media from the author's cloud library rather than uploading per-quiz.

Embedded preview

designer

Live pixel-accurate render of the selected slide inside the Designer, driven by the same WebGL Unity build the Host ships with.

Sub-features2 sub-features
  • MVP Live Host + Client preview of the selected slide.
  • MVP Preview reflects every authoring change in real time.

Run + transfer

designer

Move a .quiz from the Designer to a Host — either by spawning a local Host (Run from slide) or by pushing over Wi-Fi (Push to Host).

Sub-features2 sub-features
  • MVP Run from slide (F5 from slide 1, Shift+F5 from current slide). Fire-and-spawn: launches a local Host process; Esc inside the Host returns focus to the Designer.
  • MVP Push to Host — discover Hosts on the local Wi-Fi (Bonjour/mDNS) and push the saved .quiz to the chosen Host.

Designer shell + multi-window

designer

The authoring shell — resizable panels, drag-to-reorder tabs, pop-out windows, custom titlebar.

Sub-features11 sub-features
  • MVP Resizable panel layout — drag panel borders to resize, drag tabs between groups, drop tabs into new groups.
  • MVP Pop-out a panel into its own OS-level window (multi-monitor authoring).
  • MVP Drop a panel back into the main window to dock it again.
  • MVP Pop-out canvas window stays in sync with main: slide selection, element selection, quiz state all mirror across windows.
  • MVP Focusing any app window brings every other app window forward as a group (siblings parented to main).
  • MVP Custom titlebar for the Tauri shell with Quiz-Designer chrome.
  • MVP Single-tab pane renders as a header bar (drag the header to move the panel) instead of a tabs strip.
  • MVP Tab-panel duplication is impossible by construction — a pane lives in exactly one stack across all roots.
  • MVP New Preview panel placeholder, defaulting next to the canvas panel.
  • MVP "Insert" panel name on the object-type palette.
  • MVP Tab accent colours follow the active theme accent.

Authoring actions

designer

Cut, copy, paste, delete, duplicate, select-all, find — the table-stakes interaction set.

Sub-features9 sub-features
  • MVP Copy / cut / paste / delete / duplicate works on the slide-list selection (single or multi).
  • MVP Copy / cut / paste / delete / duplicate works on the canvas-element selection (single or multi).
  • MVP Select All is context-driven — selects elements on the last-clicked canvas if the last action was on a canvas; selects all slides if the last action was in the rail.
  • MVP Esc deselects everything; clicking outside any selection-bearing panel also deselects.
  • MVP Find-in-quiz dialog searches slide titles, host-notes, and core.text element bodies; clicking a match selects the matched slide or element. Search box auto-focuses on open; Esc closes.
  • MVP Context menus on rounds, slides, and canvas elements with copy / cut / paste / duplicate / delete and per-target actions (rename, ungroup, etc.).
  • MVP Keyboard shortcuts gated at the command level: shortcuts can't fire actions that would be disabled in the UI.
  • MVP Keyboard shortcuts viewer — full list, accessible from the Help menu.
  • MVP Release notes + About Quiz Designer panels — rendered-markdown content; About also shows version + build + the persistent log file path.

Preferences

designer

User-level settings — theme, language placeholder, live log-level. Autosave intentionally has no toggle: always on.

Sub-features2 sub-features
  • MVP General preferences section: theme dropdown, language placeholder, live log-level dropdown (defaulting to Warning) that takes effect instantly.
  • MVP No autosave configuration — autosave is always on with sensible defaults.

Logging + diagnostics

project

Every app emits structured logs at decision points. Designer adds a persistent rotating log file under the OS-conventional app log directory; Host / Client / Remote follow the same pattern as their build plans land.

Sub-features4 sub-features
  • MVP Structured per-event logging at decision points (autosave, restore, drag, layout commits, cross-window emits, etc.).
  • MVP Persistent rotating log file under the app log directory (~/.local/share/<id>/logs/ on Linux, ~/Library/Logs/<id>/ on macOS, %LOCALAPPDATA%\<id>\logs\ on Windows).
  • MVP Log file path surfaced in About dialog for support attachments.
  • MVP Help → Report an issue form (email + summary + description + steps to reproduce + attachments).

Reusable Designer components

designer

Authoring-tool primitives reused across multiple authoring surfaces — floating windows, the colour picker, the palette library.

Sub-features5 sub-features
  • MVP Reusable floating window framework — native, undecorated, draggable, click-outside-to-close. Native Tauri window on desktop, virtual modal on platforms without multi-window. Drag on any non-interactive surface.
  • MVP Theme-aware colour picker built on the floating-window framework. 3-mode tab (Picker / RGB / HSL), always-visible alpha slider, hex input, colour preview, channel-gradient backgrounds on every slider.
  • MVP Colour picker palette section with swappable named palettes and a "+ Add current colour" dotted-outline button.
  • MVP Colour picker Used in quiz section auto-collects every colour the quiz already uses (2-row horizontally scrollable when overfull).
  • MVP Library-backed palette swap — multiple named palettes, switch active from inside the picker, "+ New palette" entry.

Designer theming + brand

designer

The Designer ships dark + light Studio chrome at MVP; Showtime brand-true treatment of the preview canvas + per-quiz themes are Beta. Detail in Design Specification — Designer language.

Sub-features3 sub-features
  • MVP Designer chrome ships dark and light Studio themes; author picks the working theme, persisted in app settings.
  • Beta Quiz manifest declares a per-quiz theme (dark, light, or brand preset) that Host / Client / Remote render against during play. Sets element defaults + canvas backgrounds for venue branding.
  • Beta Authors can drop branding images / logos onto the canvas as core.image elements to layer venue branding on top of the chosen theme.

Cross-cutting Designer ambitions

designer

Out-of-v1 stretch ambitions that flag where the Designer wants to grow — AI-aided authoring, question banks, real-time collaboration, store + marketplace, stylus, templates, web variant, tablet authoring, cross-quiz analytics.

Sub-features9 sub-features
  • Stretch AI-aided authoring — generate questions on a topic, suggest distractors, draft host-notes from a question. Generated content is staged for explicit author confirmation before it lands.
  • Stretch Personal question bank decoupled from a specific quiz; pull questions into any number of quizzes.
  • Stretch Real-time collaborative authoring (Google-Docs-style multi-author).
  • Stretch Public quiz marketplace — publish for others to clone / play / rate.
  • Stretch Stylus input (Apple Pencil, S Pen, Surface Pen, Wacom) for sketching, annotation, drawing-input.
  • Stretch Quiz templates / starter packs.
  • Stretch Web-based Designer (browser-hosted variant).
  • Stretch iPad / Android tablet Designer (derived from the web variant).
  • Stretch Cross-quiz analytics — "which slides were hardest?", "which round dragged?".

Host quiz lifecycle

host

Load a .quiz from disk or accept a push from a Designer over the LAN; validate manifest + object-type registry; keep locally available offline.

Sub-features6 sub-features
  • MVP Load .quiz files from disk (manual file picker).
  • MVP Receive a .quiz pushed from a Designer over the local network. Manual-confirm prompt for every incoming transfer, identifying the originating Designer and the file size.
  • MVP Validate the manifest on receipt; store locally only if accepted.
  • MVP Validate every object type the package references against the built-in registry; refuse packages with missing or version-incompatible types.
  • MVP Loaded packages remain available offline.
  • Stretch Sign in to a cloud account; list, download, and cache quizzes from the cloud library.

Host networking + discovery

host

In-process WebSocket server handling three message families (Designer transfers, live Client connections, Remote control). Bonjour/mDNS advertisement so peers can find the Host on the LAN.

Sub-features3 sub-features
  • MVP In-process WebSocket server: Designer transfers (when idle), live Client connections (during session), Remote control connections.
  • MVP Bonjour/mDNS advertisement so Designers, Clients, and Remotes can discover the Host.
  • Stretch Internet relay (Cloudflare Durable Objects or equivalent) — same protocol, different transport; discovery via a host-issued session code (e.g. Q7-3K9-FX).

Live session

host client

The TV-show loop. Host advances slides, scores submissions, runs the authoritative timer, drives reveals + leaderboards. Clients submit answers + see their team's score.

Sub-features16 sub-features
  • MVP Start a session from a loaded package.
  • MVP Join screen showing connected teams + their team names.
  • MVP Eager push on Client join — full slide content + Client-side resources for the whole quiz, so per-slide play is round-trip-free.
  • MVP Advance through slides in order, rendering each Host canvas at the connected display's resolution.
  • MVP Score Client submissions per the slide's scoring rule (incl. late-submission rules).
  • MVP Render the leaderboard when a slide places a core.leaderboard element with a triggered reveal.
  • MVP Graceful Client disconnect + reconnect; reconnecting Client may re-receive the eager push or a delta.
  • MVP Authoritative timer — periodic time-remaining tick and an authoritative lock message at time-up.
  • MVP Live operator timer override on the current slide: extend, skip, manually lock, manually unlock.
  • MVP Per-team identity rendering — team photo on leaderboard rows, in the join-screen roster, on any per-team callout. Photos cleared at session end.
  • MVP Per-team buzzer jingle plays on the team's audio output the moment their buzzer-press wins the first-press race. Operator can mute jingles globally without ending the session.
  • Alpha Plays attached media (images, audio, video) at the right moment; core.audio-clip honours its playTrigger for music-question beats.
  • Alpha Runs interactive moments — animated reveals, transitions, mini-game presentation overlays.
  • Alpha On-demand scoreboard overlay — operator can summon a Host-only scoreboard at any moment, independent of the current slide. Never streams to Clients.
  • Alpha Live answer-correction — operator can edit accepted answers / correct option on the active slide; re-scores submitted answers retroactively.
  • Beta Bingo mode — when the loaded quiz is Bingo-flagged, Host randomises slide order per session + exposes a Bingo control panel.

Host operator surfaces

host

Dual-window operator view when multiple displays are connected — audience window on the projector / TV, operator window on the operator's machine. Single-display fallback collapses to a summonable overlay.

Sub-features4 sub-features
  • MVP Dual-window operator view on machines with multiple displays. Audience window owns the projector / TV; operator window sits on the operator's laptop / iPad screen with previews of both Host canvas and a representative Client canvas, host-notes, session HUD (timer / scores / slide index), explicit Next / Previous / Show-scoreboard buttons, and the same nav + control affordances a paired Remote exposes.
  • MVP Operator picks which connected screen renders the audience-facing main display.
  • MVP On a single-display machine the operator surfaces collapse to a summonable overlay (or can be skipped entirely).
  • Stretch Broadcast / streaming-friendly Host view — subdued backgrounds, boosted overlay readability, no in-room-only prompts; tuned for direct OBS capture.

Host crash recovery

host

Session state persisted often enough that a Host crash + relaunch can resume the same session — slide pointer, team list, scores, per-element state.

Sub-features3 sub-features
  • Alpha Persist session state to disk after every scoring event and every slide advance.
  • Alpha On launch with a saved session matching the loaded .quiz, prompt to resume or start fresh. Resume restores slide pointer, team list, scores, per-element state; Host re-advertises on Bonjour and reconnecting Clients are reattached to their original teams.
  • Stretch Faster snapshot cadence (per-message), fully-resumable timer state including elapsed time during Host outage, multi-instance failover.

Returning teams

host

Recognise teams that played in a previous session for the same quizmaster and offer them their previous identity at join. Depends on cloud-backed accounts.

Sub-features1 sub-feature
  • Stretch Recognise returning teams (from previous sessions for the same quizmaster account) and offer them their previous identity at join.

Client discovery + join

client

Phones discover Hosts on the LAN over Bonjour/mDNS; team enters a name and joins. One shared device per team.

Sub-features3 sub-features
  • MVP Discover active Hosts on the local Wi-Fi via Bonjour/mDNS.
  • MVP Enter a team name and join a Host. One shared device per team.
  • Stretch Session-code entry — type a host-issued code (e.g. Q7-3K9-FX) for cross-network play.

Client live play

client

Render the current slide's Client canvas, collect answers via the slide's input element, respect the Host's authoritative timer, show the team's own score (and other teams' only when the quiz opts in).

Sub-features9 sub-features
  • MVP Receive the eagerly-pushed slide content on join; cache in memory.
  • MVP Render the current slide's Client canvas with responsive layout adapting to the device's form factor.
  • MVP Multiple-choice tap (single-answer in MVP, multi in Beta); free-text entry; first-letter A–Z buttons; numeric entry; eliminator (pick from remaining); ranking drag-reorder; buzzer first-press; true-false.
  • MVP Render Host's authoritative timer state (countdown / locked / extended / skipped). Stop accepting input on lock.
  • MVP Display the team's own score. Full leaderboard (other teams' standings) shown only when the per-quiz clientLeaderboardVisible toggle is set (default off).
  • MVP Graceful Wi-Fi blip / disconnect recovery; rejoin the same paired Host without re-entering the team name.
  • Beta Mini-game play when a slide includes a mini-game element.
  • Beta Wager-slide multiplier picker — Client picks a stake before locking; multiplier scales points awarded/deducted.
  • Beta Bingo card — when the loaded quiz is Bingo-flagged, the Client renders a per-team 5 × 5 picture card and accepts cell taps.

Client team customisation

client

At join, the captain customises the team — name, optional photo or premade avatar, optional buzzer jingle. Choices carry through every Host moment featuring the team.

Sub-features5 sub-features
  • MVP Captain takes a photo with the device camera, or picks from the quiz's bundled premade-avatar set if the camera is denied/unavailable. Photo is centre-cropped to square, downscaled to 256 × 256, JPEG-encoded ≤ 96 KB, uploaded with the join message.
  • MVP Captain picks a buzzer jingle from the quiz's bundled set. Each jingle previews on tap before commit. Picker hides when the quiz bundles no jingles.
  • Beta Captain picks a team colour and avatar from the per-quiz author-defined palette; the choice carries through every Client surface and every per-team Host moment.
  • Stretch Returning team reclaims previous identity (name, colour, avatar) when joining a session from the same quizmaster.
  • Stretch Per-individual identity within a team — each member on their own Client, scoring rolls up.

Client crash recovery

client

Persist team identity locally so the Client can rejoin a recovered session as the same team without re-entering the team name.

Sub-features1 sub-feature
  • Alpha Persist team identity to local storage; rejoin a recovered session as the same team without re-entering the name.

Remote pairing

remote host

Pair one Remote at a time with a Host over a control message family. Manual confirm on the Host the first time a Remote connects, or QR-code pairing.

Sub-features4 sub-features
  • MVP Discover active Hosts on the local Wi-Fi via Bonjour/mDNS.
  • MVP Pair with one Host at a time. Pairing surfaces a short numeric code AND a QR encoding the same code — Remote can type or scan.
  • MVP Stream a periodic mirror of the current display, the current slide's host-notes, and live state (scores, timer remaining, slide index) to the paired Remote.
  • MVP Graceful Wi-Fi blip / disconnect recovery; rejoin the same paired Host without re-pairing.

Remote control commands

remote host

MVP ships minimum viable controls (advance + go-back). Alpha adds the rich control command set — jump, reveal, lock/unlock, timer override, score override, answer-correction.

Sub-features4 sub-features
  • MVP Accept core navigation commands from the Remote (advance, go-back).
  • Alpha Accept the rich control command set: jump to a specific slide, trigger element reveals, lock/unlock Client input, extend/skip the timer, override scoring per team.
  • Alpha Summon the on-demand scoreboard overlay.
  • Alpha Live answer-correction — edit accepted answers / change correct option on the active slide.

Multi-Remote

remote

v1 supports zero or one Remote per session. Multi-Remote (quizmaster + scorekeeper) is Stretch.

Sub-features1 sub-feature
  • Stretch Multiple Remotes paired to the same Host. v1 supports zero or one Remote per session.

Quiz package format

project

The canonical .quiz archive: manifest, slides, resources, bundled team-customisation assets. Schema-versioned so Host can gracefully refuse or upgrade older packages.

Sub-features3 sub-features
  • MVP Canonical .quiz package. Manifest declares every object type used + its required schema version. No runtime code shipped.
  • MVP Schema versioning: Host gracefully refuses or upgrades older packages.
  • Alpha .quiz carries bundled buzzer jingles under resources/audio/buzzers/ and premade avatars under resources/avatars/.

Cross-language schema contract

project

Single schemas/ JSON Schema tree is the source of truth for every cross-app data shape. Codegen produces C# types for Unity apps and TypeScript types + runtime validators for the Designer.

Sub-features1 sub-feature
  • MVP Single schemas/ JSON Schema tree drives codegen for every cross-app data shape (package + WebSocket messages across every family).

Design language

project

Shared brand-true design language across all four apps. Detail in Design Specification.

Sub-features5 sub-features
  • Beta Shared brand-true design language across all four apps — typography, colour palette, motion vocabulary, voice and tone. (MVP and Alpha are visually utilitarian.)
  • Beta Host / Client / Remote read the per-quiz theme from the manifest and render against it. Default is the dark brand theme.
  • Beta Full audio language — branded stings (correct / incorrect / lock / time-up / big reveal / end-of-round / end-of-quiz), transition motifs, optional ambient music bed.
  • Beta Mascot animation rig — rigged once in shared assets, reused across every Unity app + Quiz.Preview. Designer chrome reuses still-frames / Lottie-Rive derived from the same rig.
  • Beta Two independent theming layers: Designer chrome theme (author preference, persisted in app settings) and per-quiz theme (declared by the quiz manifest; Host/Client/Remote render against it).

Internet play

project

Cross-network play via a relay — same protocol, different transport. Host advertises a short session code; Clients + Remotes can type that code instead of picking from the Bonjour list.

Sub-features1 sub-feature
  • Stretch Cross-network play via a relay (Cloudflare Durable Objects or equivalent). Same protocol; different transport.

Quiz Store + Licensing Portal

project

Demo mode caps a Host at 2–3 Clients + watermark; one credit unlocks a 24-hour unwatermarked Live mode. A curated catalogue of premade quizzes (us first, third-party authors later) is browsable on the Host or portal site.

Sub-features6 sub-features
  • Stretch Demo mode — any .quiz runs unlicensed but capped at 2–3 Client devices with a persistent DEMO MODE watermark on the Host canvas.
  • Stretch Live mode — one credit unlocks a 24-hour unwatermarked session; activated from the Host. Quizmasters buy credits via the portal.
  • Stretch Quiz Store — curated catalogue of premade quizzes; browse + buy on the Host or the portal site; downloads land in the Host's local library.
  • Stretch Per-account analytics — quiz runs, team count distribution, popular slides.
  • Stretch Host portal pane for the Quiz Store + Licensing Portal — browse and buy premade quizzes; manage credits + Live-mode activation.
  • Licensing applies to Designer + Host only. Client + Remote remain unauthenticated.

Tournaments + leagues

project

A series of quiz sessions feeding a season-long aggregate leaderboard. Depends on recurring teams + cloud-backed authoring.

Sub-features1 sub-feature
  • Stretch Tournament / league mode — a series of sessions feeding a season-long aggregate leaderboard.

Quiz content building blocks

Everything below is what an author drops onto a slide or configures in a slide's inspector. Implementation-level detail is in Object Types; this section is the user-facing inventory of authoring primitives.

Question + input types

designer client

The team-facing input primitives. Author drops one onto the Client canvas; the team's device renders the input affordance and submits to the Host.

Sub-features16 sub-features
  • MVP Multiple choice (single) — tap one of N options. Inspector configures option text, correct option, shuffle on/off.
  • MVP Free-text — short typed answer with fuzzy / exact / regex matching. Inspector configures expected answer(s) + matching mode.
  • MVP First-letter — 26 A–Z buttons; team taps the leading letter of the answer. Pairs with an Alpha core.audio-clip for music questions.
  • MVP Numeric — exact-match or closest-wins (single object type, inspector toggle). Essential for estimation rounds + tiebreakers.
  • MVP Eliminator — author lists N candidates; wrong answers drop one by one on the Host until two remain, then the quizmaster triggers the final reveal.
  • MVP Ranking ("Sort it out") — drag-to-reorder list; scoring all-or-nothing or per-item-in-correct-position.
  • MVP Buzzer input — first-press-wins across every Client. The Host plays the winning team's chosen jingle.
  • MVP True / false — binary ✓ / ✗.
  • Alpha Image-reveal input — image obscured by a shader filter (pixelate / blur / mosaic / warp) that clears over the question duration; multiple-choice answer underneath; earlier-correct scores more (speed-bonus curve).
  • Beta Multiple choice (multi-answer) — multi-select extension on core.multiple-choice-input; partial-credit configurable.
  • Beta Match-pairs input — drag/connect pairing UX; multi-pair scoring per correct match.
  • Beta Word-scramble buzzer — animated scrambled-letter tiles on the Host; buzzer-style first-press submission on the Client; first correct team scores; wrong-attempt penalty + per-team cooldown.
  • Beta Multiple-choice optional extensions (all default off): multi-answer, elimination schedule, speed-bonus curve.
  • Stretch Drawing input — finger-drawn submission mirrored live to the Host.
  • Stretch Categories input — "Name 5 X" style multi-line entry with per-line scoring.
  • Stretch Hotspot input — tap on image coordinates ("where on the map is X?" / anatomy / geography).

Mini-games

designer client host

Mini-games run inside a core.mini-game element with a full lifecycle, scoring hand-off, and presentation overlay. Six ship as built-ins at Beta.

Sub-features6 sub-features
  • Beta Internal clock — judge-the-time press; closer to a configurable target scores more, overshoot scores zero.
  • Beta Duel (team shoot) — first-press-wins between a named pair (or the next-fastest team); wrong-team presses lose configurable points.
  • Beta Spin-wheel modifier — post-answer scoring flourish; lands on a ± value segment that applies to the configured target teams.
  • Beta Countdown — TV-show letter round; teams race to build the longest valid word from a configured consonant/vowel mix within a window. Scoring weighted by word length.
  • Beta Wheel of fortune — phrase hidden behind tile mask; teams guess letters (turn-based or buzzer-race) to reveal it; first to solve wins.
  • Beta Wordsearch — grid rendered on Host and Client; teams race to find target words. Scoring mode configurable (first-to-find / time-based / find-as-many-as-possible).

Display + decoration elements

designer host

Host-canvas-mostly elements: text, timer, leaderboard, layout primitives, media. The visual side of a slide; not user-interactive.

Sub-features7 sub-features
  • MVP Text block — title text, body copy, hint overlays. Configurable font family, size, colour (via the colour picker).
  • MVP Timer — visible countdown bound to the Host's authoritative clock.
  • MVP Leaderboard — renders team scores in rank order when its reveal trigger fires.
  • MVP Layout primitives — small set of containers / spacers for arranging other elements on the canvas.
  • Alpha Image — static media; lowest-risk media type. Unlocks image-based rounds.
  • Alpha Audio clip — music-round staple; pairs naturally with free-text + multiple-choice.
  • Alpha Video — video playback; less common than audio for live quizzes but completes the media set.

Per-element configuration

designer

Every element on the canvas has these properties — reveal trigger + reveal animation. Drives the staged "question text first, options later, answer last" cadence.

Sub-features2 sub-features
  • MVP Reveal trigger — on slide entry / on quizmaster trigger / after delay.
  • MVP Reveal animation — chosen from the available animation set; per-element override.

Per-slide configuration

designer

Per-slide knobs: scoring rules, timing, host-notes, wager flag.

Sub-features4 sub-features
  • MVP Scoring rules — point values, time bonuses, late-submission rules (none / fixed penalty / per-second decay).
  • MVP Timing — slide duration, time-up locks Client input?, late submissions accepted?, live quizmaster timer override allowed?
  • MVP Host-notes — markdown notes for the quizmaster. Render on Remote + Host operator window only.
  • Beta Wager flag + multiplier set — flag the slide as a wager; Clients pick a multiplier from the configured set before locking.

Per-round configuration

designer

Round-level metadata that applies across the round's slides — title + scoring metadata + round-default timing.

Sub-features3 sub-features
  • MVP Round title + round-level scoring metadata.
  • MVP Round-default timing — applied as the default for new slides added to the round; per-slide overrides still win.
  • Stretch Speed-round mode — round-level config running slides back-to-back with very short timers and no inter-slide pause.

Quiz-wide configuration

designer

Quiz-manifest level — title, description, tags, per-quiz toggles (e.g. clientLeaderboardVisible), per-quiz theme, Bingo mode flag.

Sub-features4 sub-features
  • MVP Title, description, tags — quiz metadata; surfaced in Designer recents and Host file pickers.
  • MVP clientLeaderboardVisible — per-quiz toggle, default false. Suppresses other teams' scores on the Client unless flipped on.
  • Beta Per-quiz themedark, light, or a brand preset declared in the manifest. Host / Client / Remote render the quiz against it during play.
  • Beta Bingo mode flag + picture pool — flag the quiz as Bingo; bundle ≥ 25 images; Client renders per-team 5 × 5 card; slide order randomises per session; win condition (line / full house / pattern) configurable.