Give a talk with a live audience
In this guide you turn a deck into a talk the room takes part in. The audience scans a QR code on your first slide and follows along on their phones; you run a poll, a quiz with a leaderboard and a round of questions, click through from your phone, and read the results afterwards. Nobody in the audience installs anything or signs in.
You need:
- a deck (see Your first deck in 5 minutes);
- a live room. A deck published on deck.kadal.cc gets one by itself; the Free plan’s room holds 25 people at once, and the paid plans more (see pricing). You can also run your own room server.
Everything below also works without a room, as a rehearsal: on your laptop, live components show an offline version of themselves on one screen, so you can write and check the deck first.
1. Put the join code on the first slide
Section titled “1. Put the join code on the first slide”---title: Shipping on Fridaystimer: countdownduration: 25min---
# Shipping on Fridays
<QrJoin caption="Scan to vote and ask questions" /><QrJoin> draws a QR code and the short address of the deck’s audience page, /join. Put it where
people will see it while they sit down. size sets the code’s size in pixels (default 260). The
same QR is in the presenter view’s Room tab all through the talk, for latecomers.
On the audience page, each person sees the slide you are on, drawn exactly as on the projector, and can react, ask and upvote questions, answer polls and quizzes, say the pace is too slow or too fast, raise a hand, and bookmark a slide. They follow you until they move on their own; a Follow the presenter button brings them back.
2. Add a poll
Section titled “2. Add a poll”---
## Who deploys on a Friday?
<Poll id="friday" question="Do you deploy on Fridays?" options={["Every week", "Sometimes", "Never", "Only by accident"]}/>Give every poll an id that is unique in the deck: results are kept under it. Other kinds:
<Poll id="safety" kind="multi" question="Which of these do you use?" options={["Feature flags", "Canary releases", "Automatic rollback", "None yet"]}/>
<Poll id="confidence" kind="rating" scale={5} question="How confident are you in a rollback?" />
<WordCloud id="incident" question="One word for your last incident" />| Kind | What people do |
|---|---|
choice (the default) |
pick one option |
multi |
pick any number of options |
rating |
pick a number from 1 to scale (default 5) |
words |
type a word or two; <WordCloud> is the same poll drawn as a cloud that grows as words repeat |
Results show as they arrive. To keep them hidden until you close the poll, add
liveResults={false}.
3. Add a quiz and a leaderboard
Section titled “3. Add a quiz and a leaderboard”---
## Quick quiz
<Quiz id="q-rollback" question="Which change is safest to ship late on a Friday?" options={["A schema migration", "A copy fix behind a flag", "A dependency upgrade", "A new cache layer"]} correct={1} seconds={20}/>
---
## Leaderboard
<Leaderboard top={5} />correct is the right option’s position counting from 0, so 1 is the second option. seconds
is the time limit (default 20). Faster right answers score more points, under the nickname each
person gives on the audience page (it is optional, and used for nothing else). <Leaderboard>
adds up the scores of every quiz in the talk.
4. Take questions and reactions
Section titled “4. Take questions and reactions”---
## Your questions
<Questions limit={5} />
<Reactions />
<Pace /><Questions>shows the audience’s questions, most upvoted first;limitis how many (default 6). Each person’s upvote counts once.<Reactions>puts the reaction bar on the slide: 👏 🔥 ❤️ 😂 🤯 👀 🙋 💡 float across every screen. The audience page always has the bar, whether or not a slide does.<Pace>is a gauge of how many people tapped “too slow” or “too fast”.<Presence />shows how many people are following, wherever you put it.
Every component’s options are in the component reference; the live room page covers what each one does in the room.
5. Check it on your laptop
Section titled “5. Check it on your laptop”npx kadal-deck checknpm run devpnpm exec kadal-deck checkpnpm devyarn kadal-deck checkyarn devbunx kadal-deck checkbun run devcheck catches a misspelt prop or a missing id. In the dev server, the poll shows “offline ·
0 answers” and the quiz “ready”: there is no room yet, so nothing is sent. Step through the deck
once with the presenter view open (S) and read your notes against each click.
To try a real room before the talk, publish the deck (next step) and open it on two devices.
6. Publish, and set a presenter passcode
Section titled “6. Publish, and set a presenter passcode”npx kadal-deck login # once: approve the CLI in your browsernpx kadal-deck publish # prints https://decks.kadal.cc/@<you>/<slug>/pnpm exec kadal-deck login # once: approve the CLI in your browserpnpm exec kadal-deck publish # prints https://decks.kadal.cc/@<you>/<slug>/yarn kadal-deck login # once: approve the CLI in your browseryarn kadal-deck publish # prints https://decks.kadal.cc/@<you>/<slug>/bunx kadal-deck login # once: approve the CLI in your browserbunx kadal-deck publish # prints https://decks.kadal.cc/@<you>/<slug>/The published deck has its own room. The presenter view and everything only a presenter may do (moving the deck, opening polls, drawing for everyone) are guarded:
- On the deck’s page in the dashboard, Present and Presenter view open the deck with a presenter ticket that lasts 12 hours. This is the simplest way on your own laptop.
- To present from a machine where you aren’t signed in, set a presenter passcode on the same
page. The presenter view at
…/presenterthen asks for it once.
7. Run the talk
Section titled “7. Run the talk”- Open the presenter view from the dashboard on your laptop.
- Click Share window and drag that window to the projector, or share it on the call. It shows the deck exactly as the audience sees it and ignores the keyboard, so a stray key press can’t move it.
- Click Start session in the toolbar. The session records the peak audience, questions, reactions and results for the stats; the button reads Live while it runs.
- Pair your phone as a clicker: Phone remote, then scan (see Present from your phone).
- On the poll’s slide, click Open on the poll (on the slide in the presenter view, or in the sidebar’s Polls tab). Phones show it at once. Close stops the voting; Reset clears it.
- On the quiz’s slide, Start opens it and starts its countdown on every phone. When the time is up (or you click Close), Reveal shows the right answer and the points.
- In the Questions tab, mark a question answered when you have taken it, or delete it.
The Room tab shows how many are watching, raised hands, reactions and which way the pace gauge leans. The sidebar folds to a rail with a badge for hands, open questions and open polls.
8. Afterwards
Section titled “8. Afterwards”Click Live to end the session. Then:
/statson the deck has views, time per slide, sessions, questions and reactions. It is for the presenter: opened in a new tab, it asks for the presenter passcode, or offers to sign in as the author, before it shows them;- the deck’s page in the dashboard has the same numbers, as far as your plan includes them, with CSV export on Pro and Team.
To let people read your notes after the talk, add audienceNotes: true to the headmatter and
publish again: every slide’s notes then show on the audience page.
- One idea per poll, four options at most: people answer on a small screen while you talk.
- Open a poll, count to ten aloud, close it. Results that keep moving are hard to talk about.
- Put
<QrJoin>on the first slide and the last one, for people who arrive late or want the deck afterwards. - If the Wi-Fi is weak, everything still works on your screen; the room catches up when phones reconnect, and a phone that slept through a slide comes back in step.
- The live room: following, roaming and what reaches whom.
- Presenter view and keys: the timer, drawing, the camera and recording.
- Self-hosting the room: run your own room server.