Enter the Trakt community — discover, track and share movies and TV shows.
Rippple is a native client for Trakt that runs on iPhone, iPad and Mac. You need to sign in with a Trakt account to use Rippple.
- Learn more: Rippple 101 — what Rippple is and how it works.
- Questions? Get help — FAQ and contact.
Discover what’s trending, popular and where to watch it. Track what you watch and when. Share comments, ratings and more.
- Browse — Trending, popular and anticipated movies and TV shows. Browse comments about what you watched or are about to watch.
- Check-in — Built-in Trakt check-in for episodes and movies. See what you’re currently watching.
- Get information — Learn more about movies and TV shows and the people who made them (cast & crew).
- Find where to watch — See where you can stream, buy or rent (via JustWatch through TMDb).
- Look back — Full watch history with filters (movies, episodes or both) and when you watched each item.
- Manage your watch history — Mark episodes and movies as watched (now or by date). Multiple-watch support. Pulse gives you a timeline of your interactions.
- Share — Post comments and reviews (quick shout or long review). Markdown editor with spoiler tags (spoiler-free or in-line).
- Interact — React, reply and share comments. Follow Trakt users and read what they post.
- Rate — View rating distributions and rate movies, episodes, seasons and TV shows.
- Everywhere — One app on iPhone, iPad and Mac. Everything stays in sync with your Trakt account.
- The way you like it — Custom colours, app icons and other options. Widgets for the movies and TV shows you watch and love.
With Trakt VIP you get:
- Expanded Limits
- Advanced Stats
- Your very own To Watch
- Your tailored Shelf
- Smarter Searches
- Smarter Rewatching
- Support Trakt & Rippple
- iOS/iPadOS/macOS 26+
- Xcode 26+
- a Trakt account
-
Clone the repository:
git clone https://github.com/trakt/trakt-rippple.git cd trakt-rippple -
Install CocoaPods dependencies:
pod install
Then open the workspace (not the project) in Xcode:
open Rippple.xcworkspace
-
Secrets — Copy
Rippple/Secrets-Template.swifttoRippple/Secrets.swiftand fill in the required values (see Secrets setup below).Secrets.swiftis gitignored. -
Configure signing in Xcode (select your team under Signing & Capabilities).
-
Build and run on a simulator or device (⌘R).
Secrets-Template.swift defines the API keys and configuration the app needs. After copying it to Secrets.swift, replace the placeholders:
| Section | What to provide |
|---|---|
| Trakt | clientId and secretId from your Trakt API application. Required for Trakt login and sync. |
| TMDb | apiKey from The Movie Database. Used for fetching images and “where to watch” data. |
| AWS | Optional. identityPoolId and the various topic ARNs if you want remote push notifications (e.g. trending/recommended). Leave as nil to disable. |
The build includes a run script that fails if Secrets.swift is missing or still contains template placeholders.
-
Managers & architecture — The app uses many
*Managersingletons (e.g. Session, User, Follow, Watched, Progress, Calendar, Filter, Shelf, Notes, Purchase) to handle specific responsibilities. It is an older UIKit-first codebase that relies on storyboards and.xibfiles; SwiftUI is used gradually for new, mostly standalone or configuration views. -
Rippple/— Main app target (Swift, UIKit, SwiftUI)Controllers/— View controllers (Settings, Browse, To Watch, Friends, Purchase, Deeplink, Search, Calendar, etc.)Trakt API/— Trakt API client, models, and provider extensions (list/library items)Tmdb API/— TMDb API client and models (images, where to watch)Cells/— Table and collection view cells (Browse, Details, Media, Settings, Ratings, To Watch, etc.)Model/— Shared domain models (e.g.Media, comment models)Notifications/— Local (episode, movie, anticipated, DVD) and remote (trending, recommended, manual) notification logicDeeplinks/— Deeplink parsing and handlingWidget/— Home and Lock screen widget codeShortcut/— App shortcuts (Search, Icon Configuration)
-
NotificationService/— Notification Service Extension to enrich notifications -
Dependencies — Swift Package Manager (Xcode project) and CocoaPods (
Podfile; runpod installand useRippple.xcworkspace). See THIRD_PARTY_NOTICES for more info about dependencies. -
Key libraries: The app relies heavily on Receiver for observability (Observer pattern—broadcast/listen). All API networking is built on Moya (network abstraction layer on top of Alamofire).
Contributions are welcome. Please read CONTRIBUTING and our Code of Conduct first.
This project is licensed under the GNU General Public License v3.0 — see the LICENSE file for details.
Rippple is affiliated with Trakt. Rippple uses the TMDb APIs for "Where to watch" information and images but is not endorsed or certified by TMDb. The source of "Where to watch" information is provided by JustWatch via the TMDb API. Rippple cannot be used to stream or play movies or TV shows. Some features may be limited by the APIs. Terms of Use · Privacy Policy