🧠 Background
Platform: Pigeonhole Live is an audience engagement tool used in events, meetings, and conferences.
Feature: This project focused on adding a Reactions feature that would let attendees express themselves in real-time (e.g., clapping, laughing). Also this feature needed to work in our core attendee interface (AWA), across all session types, and integrate with third-party video platforms.
🔍 Problem / Opportunity
We received feedback from users (mainly event organisers) wanting a lightweight way for their audiences to engage without requiring them to type or speak—something closer to real-time cheering or applauding. However, we needed to do this without overcomplicating our session structure or creating data fragmentation, especially because many of our features rely on a parent-nested session hierarchy. This made it a bit more technically complex than simply “adding emojis.”
🛠 What I Did
My role was to work closely with product and engineering to define how the Reactions feature would function within the constraints of our existing session structure and frontend interfaces. Here are the key decisions and why we made them:
Made the feature optional and controlled at setup
We didn’t want to force a new UI element onto events that didn’t want it. So we made it configurable by the organizer when setting up a session group. This also ensured that the feature was only visible where intentionally used.Consistent behavior across nested sessions
To avoid inconsistent experiences for attendees, nested sessions always inherit the parent’s Reactions setting. This made the experience more predictable, especially when sessions are rearranged or repurposed during an event.Preserved historical data even when sessions were restructured
There was a need to avoid data loss when sessions are moved around (e.g., turning a parent into a nested session). We chose to preserve any existing Reactions data under its original session context for insights, even if the feature became disabled later.Animation controls for attendees
Some users found real-time animations distracting, especially on lower-end devices. So we added a toggle so each attendee could control the animation on their device. Their preference also persists across sessions, which we felt was important to reduce repeated friction.Integrated reactions into the projector display
The projector is used during in-person events to amplify audience participation. We made sure reactions show up there too, to help balance the experience for both in-room and remote attendees.Designed for responsiveness
Placement of the widget adapts based on whether the attendee is on desktop (overlaid on video) or mobile (attached to the AWA). This was necessary to maintain visibility without interfering with content.
🧪 Results
We launched the feature as an add-on, and it was adopted quickly in town hall and all-hands sessions where reactions were a natural fit.
During internal testing, users appreciated that their reactions didn’t interrupt the flow of the session.
We received positive feedback for making the animation optional—users didn’t feel overwhelmed, and organizers could trust that it wouldn’t degrade experience on lower-powered devices.

In February 2025, this feature was used Live on CNA, Singapore's national news television:

What i learned
What worked well: Letting organizers choose if they want reactions made the feature flexible. Keeping the same setting for all connected sessions helped make it smooth for attendees.
What was tricky: It was harder than expected to keep everything working when sessions were moved or changed. We had to make sure the data didn’t get lost and the screen still looked right.