Early Observations and Lessons Learned from Giving Control of My Twitch Stream to Viewers Through Channel Points


“Ew… No.”

There I stood, alone in my soul, but in front of everyone at the Stardew Valley spring dance. After weeks of courting, the love of my life Haley viciously rejects my proposal to be her dance partner. In my silence, I could hear that a viewer had triggered the air horn. Usually meant as a noise of celebration, its presence only amplified the awkwardness.

Distraught in real life, I fall off my chair and into the fetal position. Unbeknownst to me, someone in the chat cashed in their Channel Points to activate the new Snorlax Cam. Normally, this is used to take a peek at my giant Snorlax bean bag chair when he’s not clearly in view. This time, it was being used to zoom in on me at my most vulnerable.

This was…not part of the plan. And that might be for the better?

Streamers have been giving users some control over their shows for quite some time. Many showcase the names of their latest followers and subscribers on screen. Chat commands are common for such things as song requests.

In 2019, Twitch rolled out a new Channel Points program that gave viewers of a channel with a currency that could be cashed in for rewards. A few of the prebuilt rewards allowed streamers to highlight messages or temporarily unlock emotes. However, there was no hooks to create programmatic rewards. Instead, streamers would have to manually intervene, whether that reward was to stop what they were doing to dance, play with their eyes closed, or follow that viewer on Twitter. As much as I hated to see viewers hoard Channel Points with no good reason to use them, I’m not comfortable with the idea of manually fulfilling evert reward.

Thanks to a relatively new tool called LioranBoard Receiver, viewers can translate Channel Points, bit donations, and subs into actions that OBS would perform. This can be anything from changing camera angles, toggling your mic on/off, triggering sound effects, or even shutting down the stream. With some knowledge in computer programming, you can go even farther.

On one hand, I love the idea of being able to provide viewers with some sort of programmatic reward that doesn’t require my intervention. On the other hand, how do I give viewers this type of control without compromising the overall quality of my content? At the most extreme end of the spectrum, I’ve seen streamers offer a reward that shuts the stream down entirely, whether it was done programmatically or manually. Sorry, but I’m not shutting down the stream because someone cashed in 100,000 points as soon as I started. Below that extreme, there’s a lot of give-and-take.

After configuring all of the software, my first idea was to give viewers access to my signature air horn. It’s a sound that is ingrained within the culture of the channel. We kick off every stream with the ceremonial air horn and use it regularly as an exclamation point for hype moments. Giving viewers their own air horn felt like a natural extension.

But then came the logistical considerations. The air horn sound I use is actually just a single blast. Each consecutive blast comes from me mashing the button. To give viewers the sensation that they’re blasting it multiple times in a sequence, their version is a different – and more dramatic – air horn sound.

It was magic to my ears when the air horn fired through Channel Points as I set everything up. However, it felt like the horn itself wasn’t enough. What if it had some sort of visual component to it?

Leveraging the air horn emote art that Heather designed for me, I enlisted the help of Pete from Later Levels for a bit of animation. When paired together, the air horn slides on screen and pulses to the sound before sliding out. Awesome!

But there were still more factors to consider. How do I stop air horn spam from just dominating the stream? The volume of the viewer-controlled air horn is a bit lower than mine. I had the idea of limiting the uses to just two-per-person, but Twitch’s numerical limits are shared across everyone. I also had the initial cost of the air horn set to 4,000 per blast. This proved to be way too high, as only the high rollers of my channel used it. Beyond that, is there any way I can limit viewers from hitting the air horn during times when I don’t want it to fire? What if I’m telling a sad and deeply-personal story and someone in the chat decides to shoot it? I still don’t have a good answer for that.

Inspired by another streamer’s implementation of a behind-the-scenes cam, I created a Snorlax Cam. At any time, viewers can sneak a peek at what my partner-in-crime is up to.

One of the benefits to this is that it gives viewers a better look at my giant friend. It also masks a technical limitation of my setup where my cameras hitch each time they’re activated. By focusing on static objects, you don’t see the hitch unless I’m in the shot.

But how do I make the camera angle of static objects interesting? My immediate solution was to change the configuration of plushies between streams. I also heavily reduced the cost. Though it wasn’t part of the plan, me falling into Snorlax while coping with profound sadness gave viewers the most compelling reason to use it. Maybe this becomes a bigger thing where I move Snorlax a bit closer to the mic and I do just chatting sessions while lying on his belly with the Twitch chat pulled up on my phone.

During my debut stream with the LioranBoard tech, I spitballed an idea where cashing in points would reveal a Snorlax with the chance of revealing a shiny version. This is not a feature that’s supported by default within the application. However, randomization can be done with a bit of programming.

Not long after I came up with this pie-in-the-sky idea, I found this randomization guide by Neverwho. Though it’s a bit messy to set up and the developer has stated that there a future update will make randomization easier, I was able to follow this guide and re-weigh the randomization to my liking. I turned to Pete again for the animation and now Snorlax regularly jumps on my screen, as viewers hope to reveal a shiny and have their names permanently displayed in my Shiny Club. Additional catches will also be rewarded, allowing those with multiples to have an extra level of bragging rights.

Between the desire to reveal a shiny Snorlax and having one’s score tracked on my Twitch page, it’s created this Pokemon-hunting metagame within my stream. Viewers burned through a ton of points trying to score, which is fantastic! I also like that the animation and sounds aren’t overly obtrusive, though I do have the volume cranked a bit louder for the shiny chime.

Being able to build this metagame within my stream is a technological marvel and a surefire way to get viewers to cash in their points. But does it take away from what I’m doing? Do certain viewers ignore the primary content and instead just stick around for the sake of catching a shiny? What if someone triggers a shiny and I don’t see it? Do I then have to review clips to ensure that the integrity of the game is maintained? For now, shiny hunting is an awesome party trick that I love having. That said, I will keep tabs on its use and am ready to revise accordingly if it becomes detrimental in the long-run.


Though the LioranBoard technology is still in its infancy, its potential right now is profound. It will only get better as the developer adds more features, which they’ve already committed to doing. But what’s the best way forward with this type of tech? At this juncture, I think it comes down to these principles:

1. Create interactions that are desirable and rewarding to use

Scene changes, sound boards, animations, and randomizers aren’t inherently fun in themselves. What twist can you add to those functions to make them worth using?

For example, one of the functions available to you is to mute the mic. That in itself doesn’t sound helpful. But what if the mute was only for a split-second and paired with a beep noise? Now you’re rewarding viewers with the ability to censor you. You could even have it trigger a graphic covering your mouth to make it a fully-realized effect. If they time it right, they might actually censor a bad word. Or, they censor something that then makes your statement sound way naughtier than it actually was.

Packaged with the right context and execution, these functions can grow to become so much more. Make sure every function you add has the potential to be bigger than what they are.

2. Create interactions that fit your brand identity

In Third Person’s subject matter focus is gaming. But what is the brand’s identity? What are some of the underlying values behind that brand that permeate across every medium? I know that branding is a MUCH bigger discussion than what I wanted to cover here, but it’s worth touching for the sake of creating rewards that make sense for your channel.

For me, part of what defines In Third Person is an embrace of hip-hop culture. Many of the visual and audio choices I make for In Third Person are intentionally inspired by hip-hop because of my lifelong love for the music, slang, culture, and attitude behind it. Even if I took away the fact that I’ve been using the air horn for ages, adding it now as a viewer-controlled function would feel right within the overall brand I’ve created.

What are the core principles of your brand? It may not be something you’ve actively thought about, but understanding what your brand identity is will go a long way towards packaging everything you make as part of a cohesive experience.

3. Create rewards that make your content better for you, your live viewers, and those watching after the fact

Will admit that Snorlax Cam in its current form is a shallow party trick. However, the moment I hit the floor and someone had the idea of using it to zoom in on me, it added a tremendous amount of value to that moment by focusing on my anguish during a particularly tough moment in the game.

Find rewards that make your content better to watch. Not just for you, but for those participating live and those watching afterwards. If adding a certain interaction makes the viewing experience worse, don’t do it. If there’s an interaction you really want to add, find the best way to implement it so that it improves your content.

4. Find the right point values

One of my first concerns when I started implementing this functionality was that viewers would spam the air horn. Because of that, the initial price was high. It was so high that only the high rollers of my channel were using it.

This one is going to take experimentation. But when you’re creating rewards, think about how often you would want a viewer to use that reward. Then consider how many points the average viewer will generate per hour. Based on the reward, is it worth the amount of time that viewers need to invest in order to get it?

For rewards where users can trigger them at any time through chat commands, make sure it’s something small and not overly disruptive. Mapping the air horn as a free chat command would simply cause trolls to spam it non-stop. Experiment with reward values until you find the right balance.



Buy the Elgato Stream Deck Now From Amazon.com

[Purchasing through this Amazon affiliate link gives me a small commission without adding any extra cost or effort to you. Thanks for your support!]

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.