Emcee experiences
Run live, on-screen moments at your events — drawings, celebrations, audience games — and drive the big screen straight from an nwp command while you work the room.
Emcee Controller
The Emcee Controller is NextWave's fullscreen live tool, served at /emcee/. It puts a member-aware display on the big screen and gives you, the host (or your agent), control over what it shows. The display renders whatever state you push to it — so instead of clicking through a UI mid-event, you can drive the room programmatically.
The model is small: you take control of the display, set its state, and read it back.
Built-in experiences
NextWave ships five live experiences out of the box:
| Experience | Slug | What it does |
|---|---|---|
| Opportunity Drawing | opportunity-drawing | Draw a winner from eligible members live on screen |
| Celebration Set | celebration-set | Spotlight members for milestones and shout-outs |
| Would You Rather | would-you-rather | Run a quick this-or-that audience poll |
| Caption Clash | caption-clash | Crowd-source and vote on captions for an image |
| Ask Speaker | ask-speaker | Collect and surface audience questions for a speaker |
Would You Rather is wyr for short
would-you-rather or the shorthand wyr.Extension experiences
The Emcee Controller is extensible. Add-on experiences live in their own plugins and register into the controller through the emcee hook contract — the same selector grid, the same state-driven display, but with their own logic and their own REST namespace.
| Extension | Slug | REST namespace |
|---|---|---|
| Bingo | bingo | nwp/v1/bingo/ |
| Empowering Differences | ed | ed/v1/ |
When an extension is installed it appears in the experience selector alongside the built-ins and is driven the same way — you set the display state to its slug and the extension takes over rendering. The hook contract is what lets a separate plugin slot cleanly into the controller without modifying NextWave core.
Driving experiences via the API
Three operations cover the whole loop. First, take control of the display so your commands own what's on screen:
$ nwp emcee take-control --output jsonThen set the state — choose an experience and a phase. Here we put Would You Rather into its running phase:
$ nwp emcee set-state --phase running --experience would-you-rather --output jsonRead it back any time with get-state to see exactly what the display is rendering:
$ nwp emcee get-state --output json{
"success": true,
"data": {
"phase": "running",
"experience": "would-you-rather",
"ext": {
"bingo": null
}
}
}The full operation set:
take-control— claim the display for your session.set-state— push aphase+experienceto the screen.get-state— read the current display state.clear-state— reset the display back to idle.
State carries phase + ext.<slug>
phase (idle, running, and so on) and an experience. Extension data rides along under ext.<slug> — so a Bingo game's called numbers land at ext.bingo and an Empowering Differences session at ext.ed. Read those keys to know exactly what an extension is showing.Who's on screen