My goal is to ship a lean, polished v1 that validates the core tracking‑first product: users can search, discover, track what they watch, and see where titles stream, without over‑engineering social features or AI.
All TMDB endpoints listed below are available for free non‑commercial use with proper attribution. [web:2]
The first release should answer three questions quickly and smoothly on mobile:
- What am I watching right now?
- What should I watch next?
- Where can I watch it?
-
User onboarding & auth
- Simple sign‑in (Google/Email + optional TMDB‑linked account for watchlist/favorites).
- Profile screen with basic preferences (e.g., favorite genres, region for watch‑providers).
-
Search & discovery
- Unified search bar (movies, TV, people) with suggestions.
- Fast search results with images, titles, and clear metadata.
- Discover/home tabs using TMDB’s trending, popular, top‑rated, and genre‑based data. [web:49][web:50]
-
Title detail pages
- Clean detail screens for movies and TV shows built around TMDB data:
- Title, synopsis, genres, release date, runtime.
- Seasons and episode lists (with thumbnails and short descriptions).
- Cast and crew, images, trailers, and content ratings.
- Support for both phones and tablets with responsive layout choices (single‑column vs grid‑card).
- Clean detail screens for movies and TV shows built around TMDB data:
-
Episode/movie tracking
- Mark episode or movie as watched (local + server sync).
- Simple “Continue watching” and “Up next” screens (priority layouts for Android: vertical scroll + recycler view with sticky headers).
- Offline‑first approach: sync status with TMDB IDs, then reconcile with backend when network is available.
-
Watchlist and favorites
- Use TMDB watchlist/favorites endpoints if you go with TMDB account linking. [web:2][web:50]
- Clean card‑based UI for “Watchlist” and “Favorites” tabs, with swipe‑to‑remove and batch actions.
-
Ratings and basic notes
- Global 1–5 rating (star‑based) on title detail.
- Optional short text note (stored in your backend, not TMDB).
-
Watch‑provider info
- Per‑title watch‑provider section showing where a movie/TV show is available in the user’s region (using TMDB watch‑provider endpoints). [web:2]
-
Discover/home UX
- Horizontal scroll carousels for “Trending,” “Popular,” “Top rated,” “Genres.”
- Lightweight infinite‑scroll lists with image loading (Glide/Coil) and placeholder skeletons. [web:49][web:50]
TvTime promotes chat, reactions, favorite‑character voting, reviews, and meme‑style community features, but these are not needed for v1 and add a lot of backend complexity and moderation. [web:3][web:6][web:41]
- Public comments and fan threads.
- Emoji‑reactions, stickers, emotion‑reaction systems.
- Character‑voting or “favorite‑actor”‑style polls.
- Meme‑style media, user‑generated reactions, GIF tools.
- Social feed, follow system, friend activity.
- Co‑watch, live‑watch rooms, or chat‑on‑episode.
- Advanced AI‑driven recommendation engine.
- Heavy gamification (badges, leaderboards, streaks, etc.).
- Custom collections and smart folders (e.g., “Anime,” “Weekend watch,” “Rewatch later”).
- Personal stats and recap cards (hours watched, top genres, completion charts).
- Reminder notifications and release‑calendar polish.
- AI‑based “Because you watched X” recommendations.
- Optional social features (friends, shared lists, spoiler‑safe communities).
From an Android‑dev perspective, v1 should be thin on social so the team can focus on smooth navigation, state persistence, and offline‑ready tracking.
The following TMDB endpoints are free for non‑commercial apps with attribution:
“This product uses the TMDB API but is not endorsed or certified by TMDB.” [web:2]
Everything listed here can be used in your Android app as long as the project stays non‑commercial at launch.
POST /authentication/token/newPOST /authentication/token/validate_with_loginPOST /authentication/session/newDELETE /authentication/session
GET /configurationGET /configuration/countriesGET /configuration/languagesGET /configuration/timezones
GET /search/movieGET /search/tvGET /search/personGET /search/multi
GET /trending/movie/dayGET /trending/tv/dayGET /movie/popularGET /movie/top_ratedGET /movie/upcomingGET /tv/popularGET /tv/top_ratedGET /tv/on_the_airGET /tv/airing_todayGET /discover/movieGET /discover/tvGET /genre/movie/listGET /genre/tv/list
GET /movie/{movie_id}GET /movie/{movie_id}/creditsGET /movie/{movie_id}/imagesGET /movie/{movie_id}/videosGET /movie/{movie_id}/external_idsGET /movie/{movie_id}/recommendationsGET /movie/{movie_id}/similarGET /movie/{movie_id}/release_datesGET /movie/{movie_id}/watch/providers
GET /tv/{series_id}GET /tv/{series_id}/creditsGET /tv/{series_id}/imagesGET /tv/{series_id}/videosGET /tv/{series_id}/external_idsGET /tv/{series_id}/recommendationsGET /tv/{series_id}/similarGET /tv/{series_id}/content_ratingsGET /tv/{series_id}/watch/providers
GET /tv/{series_id}/season/{season_number}GET /tv/{series_id}/season/{season_number}/creditsGET /tv/{series_id}/season/{season_number}/imagesGET /tv/{series_id}/season/{season_number}/videosGET /tv/{series_id}/season/{season_number}/watch/providersGET /tv/{series_id}/season/{season_number}/episode/{episode_number}GET /tv/{series_id}/season/{season_number}/episode/{episode_number}/creditsGET /tv/{series_id}/season/{season_number}/episode/{episode_number}/imagesGET /tv/{series_id}/season/{season_number}/episode/{episode_number}/videos
GET /person/{person_id}GET /person/{person_id}/movie_creditsGET /person/{person_id}/tv_creditsGET /person/{person_id}/images
All of these are free for non‑commercial use if you integrate TMDB accounts. [web:2]
GET /account/{account_id}POST /account/{account_id}/favoritePOST /account/{account_id}/watchlistGET /account/{account_id}/favorite/moviesGET /account/{account_id}/favorite/tvGET /account/{account_id}/watchlist/moviesGET /account/{account_id}/watchlist/tvGET /account/{account_id}/rated/moviesGET /account/{account_id}/rated/tvGET /account/{account_id}/rated/tv/episodesGET /account/{account_id}/listsPOST /listGET /list/{list_id}POST /list/{list_id}/add_itemPOST /list/{list_id}/remove_item
For Android, these can be wired through:
- Repository pattern (Kotlin).
- Coroutines + Retrofit for networking.
- Room for local caching of IDs, titles, and watch status.
- Search, title metadata, images, videos, credits, external IDs, genres, discover/trending, and watch‑provider data. [web:49][web:50][web:2]
- Account‑linked watchlist, favorites, and ratings if you use TMDB accounts. [web:2]
- User auth and profile (Google/Email + optional TMDB‑session bridge).
- Episode‑level progress and custom progress UI (e.g., “Next episode to watch” chips, progress bars).
- Custom collections, tags, private notes, and UI‑specific states (e.g., “On hold,” “Dropped”).
- Notifications, reminders, release‑calendar logic, and AI‑based recommendations.
- Analytics, feature flags, A/B tests, and moderation tools.
I’d summarize this for the team:
“For non‑commercial v1, TMDB’s free endpoints cover all content and discovery needs—search, titles, images, videos, credits, trending, watch‑provider data, and account‑linked watchlists/favorites/ratings.
Our Android app is responsible for smooth navigation, offline‑ready tracking, local caching, and a clean UI, while our backend owns progress, custom collections, notifications, and AI.” [web:2][web:50]