Prifina for Developers
  • Docs
  • Getting Data
  • Support
  • Slack
  • Blog
  • Prifina.com

Artificial Twitch Data for Software Development

10/31/2022

 
In this post, we are going deeper into the Dynamic Data project, looking at the Twitch dynamic data (library available here on GitHub and at NPM). Opening the library, you’ll see there are fifty-one types of data objects: AllStreamTags, AutoModSettings, BannedUsers, BitsLeaderboard, BlockedTerms, BroadcasterSubscriptions, Categories, ChannelChatBadges, ChannelEditors, ChannelEmotes, ChannelInformation, ChannelStreamSchedule, ChannelTeams, Channels, ChatSettings, Cheermotes, Clips, CreatorGoals, CustomReward, CustomRewardRedemption, EmoteSets, ExtensionAnalytics, ExtensionLiveChannels, ExtensionTransactions, Extensions, FollowedStreams, GameAnalytics, Games, GlobalChatBadges, GlobalEmotes, HypeTrainEvents, Moderators,  Polls, Predictions, ReleasedExtensions, SoundtrackCurrentTrack, SoundtrackPlaylist, SoundtrackPlaylists, StreamKey, StreamTags, Streams, StreamsMarkers, Teams, TopGames, UserActiveExtensions, UserBlockList, UserExtensions, UserSubscription, Users, UsersFollows,
Videos.


Learn more about dynamic data generators and the benefits of artificial data in software development.
Game Directory on Twitch
Game Directory on Twitch

About the data source

 Twitch is one of the largest live-streaming platforms with at least 2.5 million average viewers at any time and approximately 8 million unique streamers each month. The content offered on the platform ranges from Gaming, Music, Sports, Talk Shows, etc. Each channel has their own live chat room where viewers can communicate with each other and the broadcaster. In certain territories, these chat rooms can run events called Predictions which allows the user to gamble channel points, earned through watchtime, on a specific outcome for more points. These points can be used in exchange for several custom channel rewards set out by the broadcaster.

Viewers can give money to the broadcaster through either subscriptions or donations (directly or with ‘bits’). Subscribing to the broadcaster grants the user the ability to watch the stream without ads, and gives the user subscriber emotes uploaded by the broadcaster that can be used in other Twitch chats.

Approach used

Twitch has an offical API that allows for the retrieval of tons of relevant data. Using the API reference, several JSON objects were created and stored from the data types recorded. The index file of the package imports these data objects and exports them as a collection called “Data”. These mockup files make up the twitch-data package
AllStreamTags
AutoModSettings
BannedUsers
BitsLeaderboard
BlockedTerms
BroadcasterSubscriptions
Categories
ChannelChatBadges
ChannelEditors
ChannelEmotes
ChannelInformation
Channels
ChannelStreamSchedule
ChannelTeams
ChatSettings
Cheermotes
Clips
CreatorGoals
CustomReward
CustomRewardRedemption
EmoteSets
ExtensionAnalytics
ExtensionLiveChannels
Extensions
ExtensionTransactions
FollowedStreams
GameAnalytics
Games
GlobalChatBadges
GlobalEmotes
HypeTrainEvents
Moderators
Polls
Predictions
ReleasedExtensions
SoundtrackCurrentTrack
SoundtrackPlaylist
SoundtrackPlaylists
StreamKey
Streams
StreamsMarkers
StreamTags
Teams
TopGames
UserActiveExtensions
UserBlockList
UserExtensions
Users
UsersFollows
UserSubscription
Videos
Models Generated With JSON Crack
The twitch-mockup package imports the file above and goes through each attribute generating artificial (new) data using proprietary functions, such as those found in the utils package.

For example, with the GetUsers object:
Static GetUsers Object

    
Artifical GetUsers Object

    

Use case ideas

  • Social media aggregates
  • Data visualization widgets
  • etc.

Ideas to combine with some other data sources

  • Combine Twitch user data with data collected while using other social media apps (Twitter, Youtube, etc.) for a whole perspective about content creators uploads
  • Create various playlists combining data from various social media data sources (e.g., your favorite exercise playlist, your relaxation playlist, or a playlist of content that should be skipped).
  • Combine with calendar app to showcase how much time is spent watching Twitch
  • Combine Twitch data with other data sources, e.g., your fitness data and build applications that find correlations and send nudges to app users
  • For more inspiration, explore our community’s use-cases and app ideas database.

Open-source data library

We welcome contributions and forks to this data set, and look forward to seeing what developers build in our Liberty. Equality. Data. Slack channel.

Considerations for next version/improvements

General Improvements:
  • Return sensible data for performance variables (e.g. return a display name for a user that looks sensible/realistic)
  • More reliance on the Utils package
  • API methods might have been deprecated since initial creation of the library, refer to the API reference and fix or delete accordingly.
With Prifina developers can use the Dynamic Data Libraries natively in the App Studio to build direct to consumer apps where individuals can run them with their own user-held data.
Join our Slack community; Liberty. Equality. Data. to brainstorm and collaborate with other app developers, designers, and our team.

Comments are closed.

    Categories

    All
    23andme
    Ancestry
    Apple
    Dynamic Data
    Fitbit
    Google
    Ios
    Movesense
    Open Source
    Oura
    Peloton
    Polar
    Runkeeper
    Sensor BNO055
    Spotify
    Strava
    Twitch
    Uber
    Use Case
    Veri
    Whoop
    Withings

    RSS Feed

© 2023 PRIFINA INC. ​
Terms of Service
Privacy Policy
About Prifina
  • Docs
  • Getting Data
  • Support
  • Slack
  • Blog
  • Prifina.com