Inspiration

The inspiration for this project came from watching a variety of broadcasters on Twitch. I consistently noticed that many of my favorite broadcasters had the same channel point rewards. These rewards always tended to be limited by manual fulfillment. There are only so many of these manual rewards a broadcaster can have before fulfillment of these rewards start to overwhelm the broadcaster.

What it does

Manage all of your channel point rewards from anywhere on Twitch.tv. This extension gives streamers the ability to create custom channel point rewards with special capabilities and an easy and efficient interface that can be used quickly during stream.

The reward options include:

Giveaways - Run giveaways using channel point rewards! Set up a channel point reward that viewers can purchase to join the giveaway. This reward will track all users that join the giveaway and will select the winners.

Become a VIP - This reward gives viewers the ability to become a VIP in a channel for a set amount of time. Example: "Become a VIP for 24hr" - this reward will automatically give VIP status to the redeemer for 24hr.

Timeout a Chatter - Give your viewers some POWER! Using this reward, a viewer can timeout a single or multiple number of other chatters in stream for a set amount of time. Careful! There's a chance the redeemer could timeout themselves!

Discord Ranks - Reward your viewers for their loyalty. Every time a viewer purchases this reward they will rank up to the next role in your discord server. This rewards viewers that have been with you longer and can show their loyalty (or maybe just show that they are good at predictions).

NOTE: To test the extension, you must be on a "https://.twitch." or "https://twitch.*" URL for the extension to be able to inject onto the page.

How I built it

MetaMod was built within a chrome extension to allow broadcasters to easily manage their rewards from any page on twitch. The application itself was built using the MERN stack, a React front-end and a Node/Express and MongoDB backend. This stack was flexible and allowed me to build it in an efficient manner without compromising on speed. The rewards themselves rely on several external services such as:

  • Twitch API
  • Twitch Event Sub
  • Twitch IRC Bot
  • Discord API
    These services allow the application to fully manage the rewards from creation all the way to fulfillment.

Note: For direct testing of these rewards you can download the extension and setup rewards on an affiliate account, or use this channel (link) if an affiliate channel is not available

Challenges I ran into

No project is complete without its challenges. Luckily, I have been working with this stack and twitch documentation for the last few of my projects, so I have become familiar with the majority of what I needed to tackle in this project. The main challenge I ran into was managing the rewards themselves within the application. Creating/Deleting/Updating multiple rewards that perform different tasks was a fun challenge as it involved a lot more management of data management than I am used to in my side projects.

Accomplishments that I am proud of

Due to the size and scope I wanted to accomplish within the time constraints, this project was a challenge. The thing I am most proud of is being able to fit my application within a chrome extension. This is the first time I have worked with injecting an application into a webpage using a chrome extension. It was a roadblock early on in the development of the project, but after several hours of work and many error messages, I was finally able to get it to work just how I would like it to.

MetaMod - Custom Reward Manager’s Future

The basics for MetaMod are completed. In the future, I will be adding the ability for mods to manage these channel point rewards. Broadcasters will have the ability to grant permission to mods to be able to manage their channel point rewards for them. This will make it even easier for broadcasters to manage their rewards by appointing a trustworthy mod. In the future, I also plan to continue to create more automated rewards to give broadcasters even more unique options when rewarding their viewers for their loyalty.

link - Project In-depth Explanation(Long-form - not the demo) (not necessary to watch to understand the project but gives more insight into the process)

Built With

Share this project:

Updates