Live engagement for in-person talks

Make every seat in the room count.

Attendees scan a code and, from their phones, react, chat, raise hands, send pacing feedback, ask questions and answer live polls. The presenter watches a calm real-time dashboard; an assistant runs the room — without ever interrupting the talk. Start free in the cloud, or self-host it.

Pulse landing screen with the four role cards
If you're evaluating

Is this the right tool?

Skim what it does and the roles. Pulse is for in-person and hybrid presentations where you want real engagement, not a passive audience.

If you're ready to run one

Start in the cloud

Sign up at nowpresenting.net, create a workspace, and run an event in minutes — nothing to install. Prefer to host it yourself? Self-host in Docker.

If you train operators

Teach a role

Hand each person their card in Role training — a goal, the steps, and what "good" looks like for admin, organizer, presenter, assistant, and attendee.

For evaluators — what Pulse does

A back-channel for the room, run by an assistant so the speaker never breaks stride.

Everything an attendee needs lives on their phone in one page. Everything a moderator needs lives on one screen. The presenter's view is read-only by design.

Reactions & pacing

Emoji that float on the room's screens, plus "slow down / speed up / repeat" — aggregated with time-decay so stale signals fade.

Questions & chat

Written Q&A with upvoting and moderation, plus a Zoom-style room chat. Answer privately to one asker or to everyone.

Polls & quizzes

Authored in advance, launched on cue. Per-question result visibility: live, on-close, or staff-only. Quizzes reveal the answer at the end.

Speaker bios & links

Multi-speaker bios attendees browse in-app; the moderator marks who's on stage and reveals supporting links section by section.

Take control

Lock the room, pause all interaction, clear hands, and mute or boot an individual — with a live roster of who's doing what.

Post-event survey

Rating, choice and free-text questions attendees answer as they leave; results aggregate for staff with CSV export.

Privacy by design. "Anonymous" hides identity from other attendees and from staff reports — moderators see a stable per-event handle so a troublemaker can still be muted or removed without being de-anonymized. Poll and survey answers are never tied to a person.
The fastest path — nowpresenting.net

Sign up, create a workspace, and run your first event — nothing to install.

The hosted product at nowpresenting.net is the same Pulse this guide describes, run for you. You get a workspace, first-party accounts for your staff, plan limits and usage, and a support backoffice — all without touching a server. (Want to run it on your own infrastructure instead? Jump to Self-host Pulse.)

  1. Create your account

    Go to nowpresenting.net and sign up with your email and a workspace name. You're signed in immediately; a welcome email lands to confirm your address (click it to verify — it also works as a one-tap sign-in link). You can also sign in any time with a magic link or a password.

  2. Your workspace is your home base

    A workspace holds your events, staff, branding, and event defaults. Set your brand name and colors, and pin event defaults — lock a default (e.g. anonymous feedback on, guest access off) to enforce it on every event your team runs.

  3. Run an event

    Create a session, author its content, and Go live — the full flow is in Run an event below. Attendees join from the code or link with no app and no account.

  4. Invite your staff

    From People, invite teammates by email and give each a role — owner, organizer, assistant, or presenter. They get a branded invite email; roles are enforced on the server for every action. Membership is per-workspace, so people only see the workspaces they belong to.

  5. Watch plans & usage

    The Plan tab shows your limits — concurrent live sessions, attendees per event, and content retention — alongside live usage. The free plan is generous; limits are visible up front so nothing surprises you mid-event.

Running Pulse for other teams? Platform operators get a consent-based support backoffice — search a workspace, see its usage, and (only with an audited, time-boxed assist grant) act inside it to help. Operators have no standing access to customer data; every cross-workspace action is logged. This is how "run for you" stays trustworthy.
Demo workspaces. An operator can turn a workspace into a Demo — every feature on, pre-loaded with example events (including a finished one with a full report), and introduced by a guided walkthrough on each screen. Demos stay small on purpose: 5 attendees per event, a 20-minute auto-end, one member, and join links that always contain "demo". A Reset demo content button restores the samples any time.
The people — five roles

Pulse is built around five roles. Each sees a different screen and can do only what its job needs.

Roles are enforced on the server for every action, so scanning a join code can never grant more than attendee access. On nowpresenting.net the staff roles are per-workspace memberships you assign from People; self-hosted, they come from your directory (SSO/proxy) or a shared host key.

AD

Admin

Deploys & configures

The person who installs Pulse and decides what "production" means for your environment — the deployment mode and how people sign in. Usually IT or whoever owns the container.

  • Runs the container and sets the deployment configuration
  • Chooses the auth model: personas, host key, SSO/proxy, or first-party accounts (sign-up + magic link/password, per-workspace membership)
  • Runs the support backoffice (usage, consented assist) when accounts are on
  • White-labels the product name and colors, per workspace
OR

Organizer

Prepares the event

Sets everything up ahead of time on one page, then hands the live controls to an assistant. Creates the session and authors its content.

  • Creates sessions; sets the join code, QR and passcode
  • Authors polls, quizzes, prepared questions, speaker bios, links and the post-event survey
  • Chooses which feedback types are on, and named vs. anonymous
  • Runs the workspace: branding, event defaults & locks, and template import/export
PR

Presenter

Speaks — read-only

The person at the front. Their dashboard is read-mostly by design — it updates itself so they never have to touch the app mid-talk.

  • Sees room size, hands, a decaying pacing meter, reactions
  • Watches the live poll/quiz results and top questions
  • Gets a "marked for discussion" queue curated by the assistant
AS

Assistant

Runs the room

The moderator. Does everything live so the presenter doesn't have to — triage, launch, and take control if needed.

  • Triages questions and chat; launches polls and quizzes
  • Switches the active speaker; reveals links on cue
  • Locks/pauses the room, clears hands, mutes or boots a person
AT

Attendee

In the room, or remote

Anyone in the audience — physically present or joining the link from anywhere. No app to install: they scan the code (or open the link) and everything is one mobile page. In-room and remote attendees have the exact same abilities.

  • React, raise a hand, send pacing feedback
  • Chat with the room and ask/upvote questions
  • Answer live polls and quizzes
  • Browse speaker bios and open shared links
  • See a live count of who's in the room
  • Complete the survey when the session ends
Self-host Pulse — for the admin

Prefer your own infrastructure? One self-contained container. No cloud, no SSO, no build tools.

You don't have to use nowpresenting.net — the exact same Pulse ships as a single Docker image you can run yourself. Everything below runs on a laptop with only Docker installed; the same image deploys unchanged to any container host. (Self-hosting uses persona/host-key/proxy auth; the hosted product adds first-party accounts and workspaces.)

  1. Get the code and start it

    From the app/ folder, one command builds and runs it.

    # from app/ — builds the image and serves at http://localhost:5170
    docker compose up --build
  2. Open it

    Browse to http://localhost:5170. In the default Demo mode you'll see a persona picker and a seeded sample event — good for exploring every role in separate browser tabs.

  3. Decide what "production" means for you

    Deployment is two independent settings — the data mode and the sign-in method. Production is not tied to any cloud; pick the auth that fits.

    SettingValuesWhat it controls
    PULSE_MODEDemo · ProductionSeed data, the persona picker, and the "Demo" badge.
    PULSE_AUTHPersonas · HostKey · ProxyHow identity is established (see below).
    AuthWho it's forHow staff sign in
    PersonasEvaluation onlyAnyone picks a role. Not for real events.
    HostKeySelf-hosted, no SSOAttendees join freely; staff enter a shared key. No identity provider needed.
    ProxyBehind any SSOA reverse proxy (Azure Easy Auth, oauth2-proxy, Cloudflare Access, Authelia, nginx…) forwards the signed-in identity. Azure is just one option.
  4. Run a real, self-hosted event — no Azure, no directory

    Production mode with a host key: attendees join freely, only the host can present or moderate, and there's no "Demo" badge.

    PULSE_MODE=Production PULSE_AUTH=HostKey PULSE_HOST_KEY=your-secret \
      docker compose up --build
  5. Put it on the public internet — still no cloud

    The bundled tunnel profile exposes the local container on a public HTTPS URL (Cloudflare Tunnel; ngrok or Tailscale Funnel work too), so remote attendees can join from anywhere.

    TUNNEL_TOKEN=your-tunnel-token docker compose --profile tunnel up
Copy deployment.env.example to .env to set all of this in one place. For a company deployment behind SSO, set PULSE_AUTH=Proxy and point it at your proxy's identity headers — the deploy.sh script wires the Azure Entra path for you if that's your environment.
Step-by-step — run an event

The whole model in one line: the organizer prepares everything; the assistant triggers it live; the presenter just talks.

Organizer

Prepare the event ahead of time

Setup is a lifecycle pipeline. A stepper across the top — Define → Content → Rehearse/Test → QA → Run → Report — always shows where you are and how far each stage has come, with progress derived from real signals (a QA badge counts the sign-offs done). Pick a sub-section from the left menu and only that pane loads; the stepper and menu stay put.

  • Define. The event's foundation: basics (title, group), schedule (auto start/end plus a keep-open window), speakers, and access — the join link, QR, passcode, and early-access window. Room rules set what the room allows: reactions, Q&A, chat, polls, hand-raise, pacing, self-paced slides, and an optional deck download you can gate on the exit survey. A Links directory lists every URL the event owns — join, present, moderate, stage, QA review, and test twin.
  • Content. Slides and video, plus an Agenda & timeline view where segments own slide ranges and engagements pin to the slide that launches them. Author engagements — polls, quizzes, icebreakers, and the new word cloud (attendees each submit a word, aggregated into a live cloud you moderate — pull any word live). Set the exit survey, pick the attendee view (Classic or Slide-focus), and attach resources.
  • Rehearse / Test. Spin up the test twin — a safe rehearsal copy of the whole event on its own private link, so you can drive it end-to-end without touching the real one. Pair a PowerPoint or phone remote, work a dry-run checklist, and run a media check with a real mic test.
  • QA. Share a read-only QA review link (Pro & Enterprise) so a colleague signs off before you go live — every slide, every engagement, and the survey, on an event of any status, recording nothing on the real event. A QA checklist and approvals track each check, attributed to whoever ticked it. Several reviewers on one link link up in real time.
  • Run. A readiness strip summarizes the state — deck ✓, engagements ✓, twin rehearsed, QA n/m — as guidance, never a hard gate, then Go live. From here you can Pause, Lock, or End event, and launch Moderate, Present, or Stage each in its own tab.
  • Report. After the event: attendance, poll and word-cloud results, the survey, and exports — plus a What's next loop. Run it again (a fresh draft linked to this run), hand off to the next session, or save the whole setup as a reusable blueprint.
  • Account sign-in & security. Social sign-in (Google, Microsoft, Apple, GitHub) and two-factor live in Account settings, not here — set them once and they apply across your events.
Meeting setup page
Assistant moderation view
Assistant

Run the room, live

Everything happens here so the presenter never touches the app.

  • Questions & chat. Triage into Inbox / On stage / Answered; answer to one asker or everyone; remove a chat message.
  • Polls. Launch a prepared poll or quiz on cue, watch it fill, then close voting.
  • On stage now. Switch the active speaker and toggle supporting links visible section by section.
  • Session & take-control live: feature toggles, plus Lock / Pause / Clear hands and the People roster.
  • Survey results stream in with a one-click CSV export.
Presenter

Watch the room — nothing to operate

Open Present on the podium laptop. It updates itself; you never click during the talk.

  • Room signals. Live headcount, hands up, a pacing meter that fades after ~45s, and 30-second reaction tallies.
  • Poll spotlight. The open poll or quiz shown large, with correct answers marked once it closes.
  • Marked for discussion. The exact questions your assistant wants you to take, in order.
Presenter dashboard
Attendee phone view
Attendee

One page on the phone

Scan the code or open the link. No install; in-room and remote are identical.

  • React tab: emoji, raise hand, pacing, and a live "people here now" count. A live poll slides up automatically.
  • Chat and Q&A tabs: message the room; ask and upvote questions.
  • Info tab: browse speaker bios (the on-stage one is highlighted) and open the links the moderator has revealed.
  • When the session ends, the survey appears in place.
Attendee Info tab with speakers and resources Post-event survey
Moderator People roster showing online status, action counts, a muted person, and Mute / Boot per row
Assistant / Organizer

Take control when you need to

Room-wide controls sit in the moderator's Session panel; per-person controls are in the People roster.

Lock room, Pause all, and Clear hands controls
  • Lock room — stop new joins mid-meeting; people already in can still reconnect.
  • Pause all — freeze every attendee's input at once (they can still watch).
  • Clear hands — reset all raised hands between segments.
  • People roster — see who's online and what they've done. Mute stops one person's input; Boot disconnects them and blocks rejoin. On anonymous events you moderate by a stable handle, never a real name.
For trainers — role cards

Drop-in training artifacts. One card per role: the goal, the steps, and what good looks like.

Copy any card into your LMS or a one-pager. Each is written for the person doing that job, in the order they'll do it.

AD

Admin

Goal: a running, correctly-secured instance.

  1. Install Docker; from app/ run docker compose up --build.
  2. Copy deployment.env.example to .env; set PULSE_MODE=Production.
  3. Pick PULSE_AUTH: HostKey (set a secret) for self-hosted, or Proxy behind your SSO.
  4. Set the org product name and colors in Organizer → Environment setup.
  5. Verify: staff need the key/SSO; a plain link only grants attendee.
OR

Organizer

Goal: an event that's ready before anyone arrives.

  1. New session → title & speaker → Set up.
  2. Author polls/quizzes (choose who sees results), prepared questions, speaker bios, links, and the survey.
  3. Set feature toggles, named vs. anonymous, guest access, and a passcode if needed.
  4. Use Preview as attendee to check the phone experience.
  5. Share the join link/QR; Go live when it's time.
PR

Presenter

Goal: read the room without operating anything.

  1. Open Present on the podium laptop before you start.
  2. Glance at hands and the pacing meter between points.
  3. Take questions from the Marked for discussion queue.
  4. Read the poll spotlight aloud when your assistant launches one.
  5. That's it — you never click during the talk.
AS

Assistant

Goal: keep the room engaged and safe, invisibly.

  1. Open Moderate; confirm the room count is climbing.
  2. Launch prepared polls on the presenter's cue; close voting after.
  3. Triage questions; mark the best "for stage"; answer the rest.
  4. Switch the active speaker and reveal links as sections change.
  5. If needed: Pause, Lock, Clear hands, or Mute/Boot a person from the roster.
AT

Attendee

Goal: take part from your phone in seconds.

  1. Scan the QR on screen, or open the join link — no app to install.
  2. Enter the passcode if the room asks for one.
  3. React: tap emoji, raise your hand, tell the speaker to slow down or speed up.
  4. Chat and Q&A: message the room; ask a question and upvote others.
  5. Answer polls when the card slides up.
  6. Info: read speaker bios and open shared links.
  7. Fill in the quick survey when the session ends.