GitPedia

Frosty

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

From tommyxchow·Updated June 21, 2026·View on GitHub·

The official Twitch mobile app doesn't support emotes from [7TV](https://chrome.google.com/webstore/detail/7tv/ammjkodgmmoknidbanneddgankgfejfh), [BetterTTV (BTTV)](https://chrome.google.com/webstore/detail/betterttv/ajopnjidmegmdimjlfnijceegpefgped), and [FrankerFaceZ (FFZ)](https://chrome.google.com/webstore/detail/frankerfacez/fadndhdgpmmaapbmfcknlfgcflmmmieb) — third-party extensions for Twitch used by millions. As a result, only emote text names are rendered rather than their actual image o... The project is written primarily in Dart, distributed under the GNU Affero General Public License v3.0 license, first published in 2021. It has gained significant community traction with 1,017 stars and 68 forks on GitHub. Key topics include: actions, android, chat, chat-application, dart.

Latest release: v5.1.0
June 14, 2026View Changelog →

Showcase of the Frosty app with screenshots in a masonry grid

<p> <a href="https://github.com/tommyxchow/frosty/actions/workflows/ci.yml"> <img alt="Badge showing the CI status." src="https://github.com/tommyxchow/frosty/actions/workflows/ci.yml/badge.svg" /> </a> <a href="https://github.com/tommyxchow/frosty/issues"> <img alt="Badge showing the number of open issues." src="https://img.shields.io/github/issues/tommyxchow/frosty" /> </a> <a href="https://github.com/tommyxchow/frosty/commits"> <img alt="Badge showing the date of the last commit." src="https://img.shields.io/github/last-commit/tommyxchow/frosty" /> </a> <a href="https://github.com/tommyxchow/frosty/blob/main/LICENSE"> <img alt="Badge showing the current license of the repo." src="https://img.shields.io/github/license/tommyxchow/frosty" /> </a> <a href="https://github.com/tommyxchow/frosty/releases/latest"> <img alt="Badge showing the version of the latest release." src="https://img.shields.io/github/v/release/tommyxchow/frosty" /> </a> </p>

Download

<p> <a href="https://apps.apple.com/us/app/frosty-for-twitch/id1603987585"> <img title="Get it on iOS (Apple App Store)" alt="Apple App Store badge." src="https://user-images.githubusercontent.com/54859075/160051843-1d8b2186-97e9-4edd-a957-bb4797b71b4a.svg" width="200px" /> </a> <a href="https://play.google.com/store/apps/details?id=com.tommychow.frosty"> <img title="Get it on Android (Google Play Store)" alt="Google Play Store badge." src="https://user-images.githubusercontent.com/54859075/160051854-21a57556-6b5a-41e9-8127-334daf1fac47.svg" width="225px" /> </a> </p>

Why

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.

Features

  • 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
  • Block and report users
  • Emote menu
  • Sleep timer
  • And more...

For a more detailed overview, visit frostyapp.io.

Development setup

  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:

    bash
    cp .env.example .env
  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.

[!IMPORTANT]
Frosty uses MobX for state management. Please refer to the documentation about code generation, otherwise your changes within MobX stores may not be applied.

If you appreciate my work and would like to donate/tip, you can through:

Otherwise, downloading Frosty, leaving a review, or starring this repository is more than enough to show support. Thank you!

License

Frosty is licensed under AGPL-3.0-or-later.

Contributors

Showing top 7 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from tommyxchow/frosty via the GitHub API.Last fetched: 6/24/2026