Skip to content

Call-in

Audience questions, polls and reactions shown beside your slides, with a QR code people scan to join from their phones

Call-in presenter view with a slide beside the live dashboard of difficulty ratings, reactions and audience questions

Call-in adds an audience layer to a deck that already exists. Upload a PDF or paste a Google Slides, Canva or web-deck link, and the presenter view shows the slides next to a live dashboard. People in the room scan a QR code and, without an app or an account, say how easy the talk is to follow, send reactions, ask questions, back other people’s questions and answer polls.

Moderation is built in. A private moderation link lets a collaborator hide or restore questions, review audience reports and turn on slow mode. Questions can wait up to 30 seconds before they reach the big screen, each device has a cooldown and a question limit, and an optional code of conduct must be accepted before anyone can ask. An event holds up to eight polls with two to six options each, and the reactions and the five difficulty labels can be renamed. Creating an event returns a presenter view, an audience link and two private links, one for settings and one for moderation. Their secrets travel in the URL fragment and stay in the tab’s session storage. Each event runs in its own Durable Object, which also stores an uploaded PDF of up to 20 MB, and an alarm deletes the event with its deck and responses after seven days. For a permanent single event, the configuration lives in public/event.config.json, with admin and moderator tokens generated by npm scripts; the admin token can export or reset the data through the API. The Deploy to Cloudflare button, or npm run deploy from a clone, publishes the Worker to its own workers.dev address. The project’s domain is bound only in a separate production environment, so a copy never takes it over. A web component can also put the response panel inside an HTML deck. The interface comes in Traditional Chinese and English.

Built for: Speakers, teachers and event organizers who want live audience questions and polls on infrastructure they run themselves

An alternative to: AhaSlides, Mentimeter, Pigeonhole Live, Poll Everywhere, Slido

What you can use it for

  • Take audience questions during a talk, a conference session or a lecture
  • Run quick polls in a meeting or a workshop
  • See whether the room is keeping up and adjust the pace
  • Moderate questions at an event with a code of conduct

Deploy

  • One-click · main path

    The button copies the repository and deploys the Worker and its Durable Object to a workers.dev address. No variables are required.

  • CLI

    Needs Node.js 22.13 or later. npm run doctor and npm run check run the project’s checks before a deploy.

    gh repo clone mashbean/call-in
    cd call-in
    npm install
    npm run deploy

Events created from the landing page need no secrets. A permanent event configured in the source also needs admin and moderator tokens, generated with npm run admin-token and npm run moderator-token.

What it needs to run

  • Durable ObjectsLiveSession

Good to know

Polls are multiple choice only, and there are no quizzes, word clouds or survey forms. Results live on the dashboard and in a JSON export, with no reports. Anyone who can reach the instance can create events and upload decks, because event creation has no sign-in. Events made from the landing page are deleted with their data after seven days. The landing page opens in Traditional Chinese; the English pages are under /en/. One maintainer; the repository dates from August 2026.

Cost on Cloudflare

Likely fits the free plan

One Worker with static assets and a SQLite-backed Durable Object for each event, which Workers Free supports. Uploaded decks are stored in those Durable Objects and count toward the free plan’s 5 GB of storage until the event expires.

Source

The estimate is based on Cloudflare’s documented limits and the app’s configuration. What you pay depends on your usage and plan.

Where this comes from

Listing history

  • Oct 9, 2026 · Call-in listed