Pulse Product & Operator Guide
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 moderator 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, moderator, and attendee.

For evaluators — what Pulse does

A back-channel for the room, run by an moderator 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, moderator, 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.
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 moderator. 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 moderator
AS

Moderator

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 moderator triggers it live; the presenter just talks.

Organizer

Prepare the event ahead of time

From Organizer → New session, then Set up, one page holds everything you prepare before the room fills.

  • Details & join. Title, speaker, and the auto-generated join code, QR, and Copy link for invites. Preview as attendee opens the exact phone experience.
  • Content. Author polls and quizzes with per-question result visibility (live, on-close, or staff-only), one-tap icebreakers to warm up the room (curated quick-picks or your own — always live results), prepared questions to seed Q&A, speaker bios, supporting links, and the post-event survey. Attendees can change their answer while a poll is open, and live-visibility results appear beneath the ballot as the room votes.
  • Access. Feature toggles (reactions, chat, Q&A…), named vs. anonymous, guest access for external audiences, and an optional room passcode.
  • Go live flips the session on; waiting attendees join automatically.
  • Workspace. Switch or create workspaces from the top bar; set workspace branding and event defaults. Lock a default to enforce it on every event (e.g. anonymous feedback on, or no guest access) — locked settings show greyed as "set by your organization". Export any event as a reusable template and import it as a fresh draft.
Meeting setup page
Moderator moderation view
Moderator

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 moderator 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
Moderator / 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 moderator launches one.
  5. That's it — you never click during the talk.
AS

Moderator

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.