{"id":13609563,"url":"https://github.com/tommyxchow/frosty","last_synced_at":"2026-01-12T10:40:56.458Z","repository":{"id":37987529,"uuid":"397611595","full_name":"tommyxchow/frosty","owner":"tommyxchow","description":"A mobile Twitch client for iOS and Android with 7TV, BetterTTV (BTTV), and FrankerFaceZ (FFZ) support.","archived":false,"fork":false,"pushed_at":"2025-04-07T08:01:38.000Z","size":26203,"stargazers_count":792,"open_issues_count":116,"forks_count":48,"subscribers_count":11,"default_branch":"main","last_synced_at":"2025-05-11T08:15:08.590Z","etag":null,"topics":["actions","android","chat","chat-application","dart","fastlane","firebase","flutter","flutter-apps","flutter-examples","frontend","github-actions","ios","irc","mobx","stream","streaming","twitch","video","vscode"],"latest_commit_sha":null,"homepage":"https://frostyapp.io","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tommyxchow.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"tommyxchow","buy_me_a_coffee":"tommychow","custom":"https://www.tesla.com/referral/tommy414363"}},"created_at":"2021-08-18T13:31:20.000Z","updated_at":"2025-05-10T22:06:44.000Z","dependencies_parsed_at":"2023-10-29T01:28:34.493Z","dependency_job_id":"fa9966fa-6bba-4bfc-8c45-659ca1113248","html_url":"https://github.com/tommyxchow/frosty","commit_stats":{"total_commits":1011,"total_committers":5,"mean_commits":202.2,"dds":"0.029673590504451064","last_synced_commit":"f5ef9bfe242c50997273137315a7f61d2a0b205b"},"previous_names":[],"tags_count":43,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tommyxchow%2Ffrosty","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tommyxchow%2Ffrosty/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tommyxchow%2Ffrosty/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tommyxchow%2Ffrosty/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tommyxchow","download_url":"https://codeload.github.com/tommyxchow/frosty/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254292042,"owners_count":22046426,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["actions","android","chat","chat-application","dart","fastlane","firebase","flutter","flutter-apps","flutter-examples","frontend","github-actions","ios","irc","mobx","stream","streaming","twitch","video","vscode"],"created_at":"2024-08-01T19:01:35.987Z","updated_at":"2026-01-07T03:16:05.776Z","avatar_url":"https://github.com/tommyxchow.png","language":"Dart","funding_links":["https://github.com/sponsors/tommyxchow","https://buymeacoffee.com/tommychow","https://www.tesla.com/referral/tommy414363","https://www.buymeacoffee.com/tommychow"],"categories":["Dart","Misc"],"sub_categories":["React Native"],"readme":"![Showcase of the Frosty app with screenshots in a masonry grid](https://github.com/tommyxchow/frosty/assets/54859075/09178dcc-2fd2-4618-8076-502719159424)\n\n\u003cp\u003e\n  \u003ca href=\"https://github.com/tommyxchow/frosty/actions/workflows/ci.yml\"\u003e\n    \u003cimg\n      alt=\"Badge showing the CI status.\"\n      src=\"https://github.com/tommyxchow/frosty/actions/workflows/ci.yml/badge.svg\"\n    /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/tommyxchow/frosty/issues\"\u003e\n    \u003cimg\n      alt=\"Badge showing the number of open issues.\"\n      src=\"https://img.shields.io/github/issues/tommyxchow/frosty\"\n    /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/tommyxchow/frosty/commits\"\u003e\n    \u003cimg\n      alt=\"Badge showing the date of the last commit.\"\n      src=\"https://img.shields.io/github/last-commit/tommyxchow/frosty\"\n    /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/tommyxchow/frosty/blob/main/LICENSE\"\u003e\n    \u003cimg\n      alt=\"Badge showing the current license of the repo.\"\n      src=\"https://img.shields.io/github/license/tommyxchow/frosty\"\n    /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/tommyxchow/frosty/releases/latest\"\u003e\n    \u003cimg\n      alt=\"Badge showing the version of the latest release.\"\n      src=\"https://img.shields.io/github/v/release/tommyxchow/frosty\"\n    /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n## Download\n\n\u003cp\u003e\n  \u003ca href=\"https://apps.apple.com/us/app/frosty-for-twitch/id1603987585\"\u003e\n    \u003cimg\n      title=\"Get it on iOS (Apple App Store)\"\n      alt=\"Apple App Store badge.\"\n      src=\"https://user-images.githubusercontent.com/54859075/160051843-1d8b2186-97e9-4edd-a957-bb4797b71b4a.svg\"\n      width=\"200px\"\n    /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://play.google.com/store/apps/details?id=com.tommychow.frosty\"\u003e\n    \u003cimg\n      title=\"Get it on Android (Google Play Store)\"\n      alt=\"Google Play Store badge.\"\n      src=\"https://user-images.githubusercontent.com/54859075/160051854-21a57556-6b5a-41e9-8127-334daf1fac47.svg\"\n      width=\"225px\"\n    /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n## Why\n\nThe 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 or GIF, making the chat unreadable in many channels.\n\n## Features\n\n- Support for 7TV, BetterTTV, and FrankerFaceZ emotes and badges\n- Browse followed streams, top streams, and top categories\n- Autocomplete for emotes and user mentions\n- Light, dark, and black (OLED) themes\n- Search for channels and categories\n- See and filter chatters in a channel\n- Local chat user message history\n- Theater and fullscreen mode\n- Watch live streams with chat\n- Picture-in-picture mode\n- Block and report users\n- Emote menu\n- Sleep timer\n- And more...\n\nFor a more detailed overview, visit [frostyapp.io](https://www.frostyapp.io/).\n\n## Development setup\n\n1. [Install Flutter](https://docs.flutter.dev/get-started/install).\n\n2. Clone this repo (e.g., `git clone https://github.com/tommyxchow/frosty.git`).\n\n3. Go to the [Twitch dev console](https://dev.twitch.tv/login) and register a new application to retrieve a **Client ID** and **Client Secret**.\n\n4. Use [`--dart-define`](https://dartcode.org/docs/using-dart-define-in-flutter/) to set the `clientId` and `secret` environment variables with your **Client ID** and **Client Secret**.\n\n5. Run `flutter pub get` to fetch all the dependencies.\n\n6. Choose an emulator or device and run the app!\n\n\u003e [!IMPORTANT]\n\u003e Frosty uses [MobX](https://mobx.netlify.app/) for state management. Please refer to the documentation about code generation, otherwise your changes within MobX stores may not be applied.\n\n## Donate\n\nIf you appreciate my work and would like to donate/tip, you can through:\n\n- [GitHub Sponsors](https://github.com/sponsors/tommyxchow)\n- [Buy Me a Coffee](https://www.buymeacoffee.com/tommychow)\n\nOtherwise, downloading Frosty, leaving a review, or starring this repository is more than enough to show support. Thank you!\n\n## License\n\nFrosty is licensed under [AGPL-3.0-or-later](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftommyxchow%2Ffrosty","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftommyxchow%2Ffrosty","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftommyxchow%2Ffrosty/lists"}