Frosty

A mobile Twitch client for iOS and Android with 7TV, BetterTTV (BTTV), and FrankerFaceZ (FFZ) support.

Mobile App DevelopmentDartAGPL-3.0

Abstract

Frosty is an open-source Mobile App Development project. A mobile Twitch client for iOS and Android with 7TV, BetterTTV (BTTV), and FrankerFaceZ (FFZ) support. The official Twitch mobile app doesn't support emotes from 7TV, BetterTTV (BTTV), and FrankerFaceZ (FFZ) — third-party extensions for Twitch used by millions. As a result, only emote text names are rendered rather than their actual image or GIF, making the chat unreadable in many channels. It is built using Dart, Flutter, Android. Key capabilities include: Support for 7TV, BetterTTV, and FrankerFaceZ emotes and badges; Browse followed streams, top streams, and top categories; Autocomplete for emotes and user mentions. The complete source code is publicly available on GitHub under the GNU Affero General Public License v3.0, making it a useful reference for students building a Mobile App Development mini project or final-year project.

1. Introduction

The official Twitch mobile app doesn't support emotes from 7TV, BetterTTV (BTTV), and FrankerFaceZ (FFZ) — third-party extensions for Twitch used by millions. As a result, only emote text names are rendered rather than their actual image or GIF, making the chat unreadable in many channels.

2. Objective

A mobile Twitch client for iOS and Android with 7TV, BetterTTV (BTTV), and FrankerFaceZ (FFZ) support.

This project demonstrates how Dart, Flutter, Android can be applied to a real-world Mobile App Development problem.

3. Key Features / Modules

  • Support for 7TV, BetterTTV, and FrankerFaceZ emotes and badges
  • Browse followed streams, top streams, and top categories
  • Autocomplete for emotes and user mentions
  • Light, dark, and black (OLED) themes
  • Search for channels and categories
  • See and filter chatters in a channel
  • Local chat user message history
  • Theater and fullscreen mode
  • Watch live streams with chat
  • Picture-in-picture mode

4. Technology Stack

DartFlutterAndroid

5. System Requirements

General requirements for this technology stack — check the README for exact versions.

  • Flutter SDK
  • Android Studio or VS Code with Flutter plugin
  • Android / iOS device or emulator
  • Git (to clone the repository)

6. Installation & Setup

git clone https://github.com/tommyxchow/frosty.git
cd frosty
  1. Install Flutter.
  2. Clone this repo (e.g., git clone https://github.com/tommyxchow/frosty.git).
  3. Go to the Twitch dev console and register a new application to retrieve a Client ID and Client Secret.
  4. Copy .env.example to .env and fill in your credentials:
  5. Run flutter pub get to fetch all the dependencies.
  6. Choose an emulator or device and run the app! The included VS Code launch configurations will automatically read your .env file.
  7. (Optional) Run dart run scripts/get_twitch_token.dart to quickly get a user auth token. Long-press the Anonymous account tile in the app to log in.
cp .env.example .env

Full setup instructions are in the project README.

7. Future Enhancements

Suggested extensions you can add to make this your own project.

  • Add push notifications with Firebase Cloud Messaging
  • Add offline support with local caching
  • Publish an internal test build on the Play Store

8. Viva / Review Questions

Common questions examiners ask for projects in this domain.

  1. Which framework is used and why (native vs cross-platform)?
  2. How is app state managed across screens?
  3. Where is the data stored — locally, Firebase or a REST backend?
  4. How are permissions (camera, location, storage) handled?
  5. How would you publish this app to the Play Store / App Store?

9. Source Code & License

This project is developed by tommyxchow and published on GitHub under the GNU Affero General Public License v3.0. Please follow the license terms and credit the original author when you use or modify this code.

Want to build this as your internship project?

Work on a Mobile App Development project like this with mentor guidance, weekly reviews and an internship certificate from Training Trains, Erode — online or offline.

Apply for Mobile App Development Internship