The live room
Every deck that talks to a room server has a live room: one per deck, shared by the presenter, the projector and every phone. On deck.kadal.cc a published deck’s room is created for you; you can also host one yourself.
Joining
Section titled “Joining”Put <QrJoin /> on a slide (or show the QR from the presenter view’s room panel). The audience scans
it — or opens /join — and sees:
- the deck at your slide, in a stage-exact mirror (same scale, backgrounds and fitting as the projector), which they can tap to fill the screen sideways;
- buttons to react, ask and upvote, answer polls and quizzes, set the pace, raise a hand and bookmark a slide;
- your notes, when you share them.
Nobody installs anything or signs in. How many phones can be in a room at once depends on the plan — see pricing.
Following and roaming
Section titled “Following and roaming”A viewer who opens a live deck starts in step with you and is shown nothing about it — the deck simply moves. The moment they move themselves, by any means (a key, a swipe, the overview, search, a link), they stop following, and nothing moves them again: you can step through the whole deck and they stay where they stopped reading. A pill then offers Follow the presenter, which jumps them to you and puts them back in step.
What still reaches a viewer who is reading on their own: your drawings (on the slide they were drawn on), confetti, a shared term card (only on its own slide) and blackout. What does not: the laser and the spotlight, which point at a place on your slide and mean nothing on any other.
Live components
Section titled “Live components”<QrJoin /><Presence /><Reactions />
<Poll id="tool" question="What do you present with today?" options={["Keynote", "Google Slides", "reveal.js", "Something else"]}/><Poll id="pace" kind="rating" scale={5} question="How is the pace so far?" /><WordCloud id="oneword" question="One word for how this feels" />
<Quiz id="q1" question="Which separator starts a vertical slide?" options={["---", "----", "***", "==="]} correct={1} seconds={20}/><Leaderboard top={5} />
<Questions limit={5} /><Pace />| Component | What it does |
|---|---|
<QrJoin /> |
the QR code and link to /join |
<Presence /> |
how many people are here, and on which slides |
<Reactions /> |
the reaction bar: 👏 🔥 ❤️ 😂 🤯 👀 🙋 💡 float across every screen, with session totals |
<Poll id question options kind> |
kind: choice (default), multi, rating (with scale); the presenter opens, closes and resets it |
<WordCloud id question /> |
one-word answers, sized by how many gave them |
<Quiz id question options correct seconds> |
a timed question; answers are scored by speed, with a nickname |
<Leaderboard top> |
the quiz leaderboard |
<Questions limit> |
the audience’s questions, ranked by upvotes; the presenter marks them answered |
<Pace /> |
the pace meter: too slow, fine, too fast |
Every viewer’s messages are throttled per person, and anything only a presenter may do (moving the deck, opening a poll, drawing for everyone) is dropped when a viewer sends it. A vote or an upvote counts once per person.
Switch features off in the configuration: reactions: false, qa: false, polls: false, or
drawings: { enabled: false }. audienceNotes: true shows every slide’s notes on the audience page —
useful after the talk.
Sessions and what is kept
Section titled “Sessions and what is kept”The presenter view’s Start session begins a session: its peak audience, questions, reactions and
poll results are saved while it runs and when it ends, so you can read them afterwards in /stats (or
the dashboard, on a hosted deck). The room’s own state survives a reload and a quiet period, so a phone
that sleeps through a slide comes back in step.
Bot checks
Section titled “Bot checks”A room can require a Cloudflare Turnstile check before a viewer connects: set live.turnstile to your
Turnstile site key, and give the room server the matching secret.