A minimal audience response tool — just blurt out your answer!
See it live at blurt.lol
- Go to https://blurt.lol
- Enter a room name of your choice, or leave blank, and click "create".
- Show QR code (q) to get participants to join.
- Mode is initially off (0), i.e. participants can't respond.
- Ask a question out loud, then choose a mode to allow responses:
- t for text
- n for number
- y for yes/no/maybe
- m or 2–5 for multiple choice
- Optionally pick a random respondent with p or by clicking a response.
- Clear responses (c) or change mode back to off (0), then repeat.
See below for more features and keyboard shortcuts.
- A room has exactly one owner, and zero or more participants.
- Room ownership is saved as a random secret in a cookie.
- A room is destroyed if it has no participants or owner.
- Visiting
/shows two options:- Create a room with a specified name (or let the server choose one) and make you the owner.
- Join a named room as participant (if it exists).
- Visiting
/createcreates a room with a randomly chosen name and makes you the owner. - Visiting
/create/:roomcreatesroom(if it doesn't exist) and makes you the owner. - Visiting
/:roomchecks ifroomexists and joins it:- as the owner if you have the room secret.
- as a participant otherwise.
- Instantly create rooms with zero setup
- Responses updated live in owner view as participants type, sized according to frequency
- Minimal, projector-friendly UI (dark by default, no borders, content at top)
- Zen mode (hides controls completely)
- QR code for participants to scan
- Show/hide responses
- Pause/resume live updating
- Clear all responses
- Pick a random participant, optionally with a certain response
- Modes
- free text
- numeric (responses sorted by value)
- yes/no/maybe
- multiple choice (letters A–D)
- Pre-prepared content
- Users or registrations
- History or statistics
- Childish graphics or annoying animations
| Key(s) | Action |
|---|---|
| q | Toggle QR code visibility |
| h | Hide responses |
| s | Show responses |
| l | Light theme |
| d | Dark theme |
| z | Toggle Zen mode |
| / | Toggle response counts |
| space | Pause/resume updates |
| p | Pick participant |
| u | Unpick all participants |
| Key(s) | Action |
|---|---|
| c | Clear all responses |
| 0 or o | Set mode to "off" |
| t | Set mode to "text" |
| n | Set mode to "number" |
| y | Set mode to "yes/no/maybe" |
| 2 | Set mode to "multiple choice" with 2 options |
| 3 | Set mode to "multiple choice" with 3 options |
| 4 or m | Set mode to "multiple choice" with 4 options |
| 5 | Set mode to "multiple choice" with 5 options |
npm run build
npm run build:client
npm run startnpm run dev
npm run dev:clientFast-forward merge dev into main and push (from dev):
git fetch . dev:main
git push origin main- CHANGELOG: move items from unreleased into new release
- Update version number in
package.json(then runnpm ito updatepackage-lock.json) - Commit to
devwith commit message "Release x.y.z" - Merge to
main - Trigger deployment
Use blurt as you wish!
Bug reports, feature requests, and pull requests are welcome.
blurt is conceived, built and maintained by John J. Camilleri at Chalmers University of Technology.