User guide

Run the room, live.

ClassPulse turns a presentation into a two-way conversation: you ask, your audience answers from their phones, and results appear as they arrive. This guide covers everything a presenter needs — from your first session to letting the room propose its own questions.

1Getting started

You need a presenter account to build and run sessions. Your audience needs nothing — no app, no sign-up.

  1. Register a presenter account. Open your ClassPulse site and choose Get started. On a brand-new deployment the first person to register becomes the administrator automatically, already verified — so you can sign in immediately.
  2. Verify your email (everyone after the first). Later sign-ups receive a short code by email and enter it once to activate the account. Lost the email? Use resend verification code on the verification page.
  3. Sign in. That's it — you land on your dashboard, where sessions live on the left and the one you're editing opens on the right.
Forgot your password? Use Forgot password? on the sign-in page to get an emailed reset code. If email isn't configured yet, an operator can reset any account from the server — see self-hosting below.

2Sessions

A session is a container for your questions and the join code your audience uses. Build it once; reuse it whenever you like.

  1. Create a session. Click + New session. It starts as “Untitled session” — click the title to rename it. Each session gets a unique 6-character code (letters and numbers) and a matching QR code and join link.
  2. Add questions. Click + Add question, pick a type, write the prompt, and fill in its options. Reorder questions by dragging; duplicate or delete from each question's menu.
  3. Activate it. A session is closed to the audience until you Activate it. Activating opens joining and unlocks Present. Deactivate any time to stop new responses.

How the audience joins

Share any of these — all three lead to the same place:

  • The QR code (shown in present mode and on the session) — scan and go.
  • The join link for the session.
  • The 6-character code, typed into the Join a session page.

Participants are anonymous and need no account. Each person gets one response per question; submitting again replaces their previous answer rather than adding a vote.

Done with a session but want to keep the data? Archive it — it moves out of your active list (under the Archived tab) without deleting anything. Delete is permanent.

3Question types

Nine types, mixable within one session. Options are entered one per line unless noted.

Multiple Choice

One answer from a list. The classic poll or comprehension check.

At least two options.

Select All

Like multiple choice, but participants can pick several options at once.

At least two options.

Poll w/ Other

Multiple choice plus a free-text “Other” box for the option you didn't list.

At least two options.

Ranking

The audience drags a set of items into their preferred order. Results show the group's average ranking.

At least two items.

Rating Scale

A star rating for confidence, satisfaction, or agreement. Results show the distribution.

Scale of 2–10 stars (default 5).

Numeric

Collect a number. Results include the running average.

Optional minimum, maximum, and step.

Short Answer

Free-text responses, shown as a live list.

No options to configure.

Word Cloud

Free-text responses that build a word cloud in real time — great for warm-ups and sentiment.

No options to configure.

Image Choice

Vote between images — design critiques, “which looks right?”, spot the difference. Results display the images with live tallies.

Upload images, or paste one Label|https://image-url per line. At least two.

Emoji Poll

Answer with a single emoji — instant mood checks and reactions. Results grow each glyph with its share of the vote.

Pick a preset (mood, reactions, traffic light…) or type your own set of 2–12 emojis.

Grid / Matrix

Tap one cell of a labelled grid. A 2×2 “Likelihood × Impact” grid is a classic risk matrix; bigger grids work as heatmaps.

Grid size 2×2 up to 4×4, optional axis and end labels.

Scatter Plot

Drop a point anywhere on a labelled plane — predictions, estimates, “where do you stand?” Results plot every respondent's dot live.

Optional axis labels, plus optional colour and size dimensions for the respondent to pick.
Uploaded images are handled safely. ClassPulse re-encodes and resizes them server-side, so what your audience sees is a clean, size-limited copy rather than the original file.

4Presenting live

Present mode is the big-screen view for the room — questions and results, updating as answers land.

From an active session, click Present. You get:

  • A full-screen join page (QR code and session code) to open with — press space to flip between it and the results.
  • A slim join panel beside the results, so latecomers can still scan while you present.
  • One question at a time, with its live chart, word cloud, or image tallies.
  • An overview grid of every question — click any card to enlarge it.
  • Move between questions with the on-screen ← Prev / Next → buttons or the arrow keys.

Because everything streams over a live connection, you never refresh — bars grow, words appear, and counts tick up while you talk.

5Results & export

Review responses live during the session or afterward, and take the raw data with you.

Reading results

  • Choice, select-all, ranking, numeric, poll-with-other render as bar charts (numeric also shows the average; ranking notes that a lower bar means ranked-better).
  • Rating shows the spread across the star scale.
  • Word cloud and short answer show the text — as a cloud or a list.
  • Image choice shows each image with its live vote tally.
  • Emoji sizes each glyph by its share of the vote, with counts and percentages.
  • Grid / matrix shades the cells as a heatmap — hot cells are where the room clustered.
  • Scatter plots every respondent's dot; colour and size carry the extra dimensions if enabled.

Exporting to CSV

Export a whole session or a single question. The file has one row per response with these columns:

response_id, question_id, session_id, response_value, respondent_id, timestamp

Open it in any spreadsheet for grading, analysis, or your records.

6Cohort mode: let the audience ask

Turn on cohort mode and your audience can propose questions and upvote each other's — you stay in control of what actually goes live.

  1. Enable it on the session. Open the Audience proposals panel and switch it on.
  2. The audience proposes and votes. Participants see a + Propose a question button and can anonymously suggest questions and upvote the ones they'd most like asked.
  3. Moderation runs automatically. Every proposal passes a keyword filter first; if an AI provider is configured, an extra check runs too. Anything flagged is hidden from the public list and waits for you.
  4. You decide. Review proposals from your dashboard — approve, reject, unflag, or merge. Approving a proposal turns it into a live question in your session.
The keyword filter blocks unambiguous profanity out of the box. You can extend it with your own terms — one per line in instance/moderation_keywords.txt on the server.

7Accounts & admin

Administrators manage who can present. Most presenters never need this section.

  • The first registrant is the admin; there is no built-in default account.
  • From Manage Users, an admin can Verify a user directly (handy if a verification email went astray), Block someone (they can't sign in or re-register until unblocked), or Delete an account permanently.
  • Sign-ups can be restricted to specific email domains (for example, only your institution's addresses).
  • Every page footer shows the exact build running, linked to its commit — handy when reporting an issue.

Deleting your own account

Any presenter can delete their own account from the Account page (confirm with your password). Deletion is permanent and immediate — it removes your account and every session, question, and result you created, with no recovery. ClassPulse treats survey data as disposable, so there is no trash to restore from afterward.

8Self-hosting

ClassPulse is open source and runs anywhere Docker does. The repository is the source of truth for setup and operations.

  • README — features, local setup, and configuration overview.
  • DEPLOYMENT.md — Docker / reverse proxy / persistence, and email & AI provider settings.
  • SECURITY.md — the security model and required settings.
  • .env.example — every environment variable, documented.
Email note: until you configure an email provider, verification and reset codes are only written to the server log — real users won't receive them. Set EMAIL_PROVIDER (Resend, SMTP, or Gmail) in your .env to send mail. The app warns about this at startup.