ScenePeek

February 19, 2026 · View on GitHub

codecov CI Join the community

Get it on Google Play Get it on Obtainium Get it on GitHub

The iOS version is under review from apple since 20/12/2025, until they decide to approve it and release it on the AppStore, you can get the iOS app on testflight.

Get it on GitHub

ScenePeek

ScenePeek is an android application, built with Jetpack Compose. The application provides information about movies & television shows and other forms of entertainment. It includes information such as cast and crew, plot summaries, user reviews, ratings, and more.

Screenshots

HomeDetailsRatingsLists
Home ScreenDetails ScreenRatings ScreenLists Screen
Request MediaEdit RequestView Requests
Screenshot_20250927_182216Edit Request ScreenView Requests Screen

Core Features

The following table outlines the main features of our app:

FeatureDescriptionStatus
TMDB AuthenticationLog in with TMDB account✅ Implemented
Rate Movies & TV ShowsRate content directly through the app✅ Implemented
TMDB WatchlistManage your TMDB watchlist✅ Implemented
People DetailsView detailed information about cast and crew✅ Implemented
Movie DetailsComprehensive information about movies✅ Implemented
TV Show DetailsDetailed information about TV series✅ Implemented
Cast & Crew InformationExplore the team behind movies and TV shows✅ Implemented
Jellyseerr AuthenticationLog in to your Jellyseerr account✅ Implemented
Jellyseerr RequestsRequest movies and TV shows via Jellyseerr✅ Implemented
Additional Rating SourcesView IMDb & Trakt ratings for all content✅ Implemented
Discover FeedDiscover media through advanced filtering✅ Implemented
TV Show SeasonsDetailed information about individual seasons✅ Implemented
Request notificationsGet notifications on media requests🚧 Work in Progress

We are continuously working on improving and expanding these features to enhance the user experience. Features marked as "Work in Progress" are actively being developed and will be available in future updates.

Getting Started

Welcome! The application uses an MVVM architecture which you can read about here. The documentation folder can also serve as a guide to getting familiar with this project.

This application is built with a thorough suite of unit and ui tests to ensure that all functionality is working as intended. These tests are run automatically with every build, and are a crucial part of our development process. They help us catch and fix bugs early on, and ensure that new changes don't break existing functionality. By using unit and ui tests, we can have confidence that the app is working as expected, and that it will continue to work correctly as we make updates and improvements over time.

In addition to the tests, the development process includes a system of pull requests. By reviewing the pull request history, you can get a detailed understanding of how the application was implemented. This can be especially helpful if you're looking to learn more about how a specific feature was developed or if you're trying to understand how the codebase is organized.

Efficient Data Management

Our app implements a caching strategy to optimize performance and reduce API requests:

  • We use SqlDelight to cache API responses locally. This allows for faster data retrieval and reduces the need for frequent network calls.
  • By leveraging The Movie Database's "changes" API, we can update our local cache with only the data that has changed since our last request. This approach significantly decreases the number of API requests made, improving app performance and reducing server load.

This combination of local caching and selective updates ensures that our app remains responsive while minimizing unnecessary network traffic.

Caching Progress

The following table shows the current status of caching implementation for different data types:

Data TypeCaching Implemented
People✅ Implemented
Movie🚧 Work in Progress
TV Shows🚧 Work in Progress

We are continuously working on improving our caching strategy to enhance app performance.

API Key Security

We use secrets-gradle-plugin to keep our API keys secure. This plugin allows us to store sensitive information like API keys in a local properties file that is not committed to the repository.

Setup

  1. Create a local.properties file in the root project directory
  2. Add your API keys to this file in the format: PROPERTY_NAME=value
  3. In your app's build.gradle, reference these properties using secrets.propertyName