Built to order

Movie Watchlist App using React Native

A cross-platform mobile app built with React Native and Expo for keeping track of films. Browse a bundled catalogue with posters and ratings, search by title or genre, save films to a watchlist in two taps, mark them watched, and rate them with stars — everything persisted on-device with AsyncStorage so the whole app works offline. One JavaScript codebase runs on both Android and iOS via Expo. Suitable for B.E./B.Tech final-year projects in Computer Science, Information Technology and related branches.

Android Software
Movie Watchlist App using React Native - project prototype demo screenshot
More project photos (2)

The problem

Everyone keeps a mental list of films to watch — and loses it. Notes apps are not built for movies: no posters, no ratings, no distinction between "want to watch" and "watched". Existing streaming apps lock watchlists inside one service, while a student-built app can be service-agnostic and fully offline. React Native lets one JavaScript codebase ship to both Android and iOS, and Expo removes the native-toolchain pain that stops most student mobile projects. This project builds that app: catalogue browsing, search, a persistent watchlist, watched history and star ratings, all working without an internet connection, with a bottom-tab navigation structure that follows real mobile design conventions.

How it works

  1. On launch the app rehydrates the watchlist from AsyncStorage into the global store.
  2. The Home tab renders trending and top-rated sections from the bundled catalogue JSON.
  3. Tapping a poster pushes the detail screen with synopsis, metadata chips and the star-rating control.
  4. Adding, marking watched or rating a film updates the store and writes through to AsyncStorage immediately.
  5. The Watchlist tab splits saved films into To-watch and Watched sections with live counts.
  6. Search filters the catalogue locally as the user types, so every feature works offline.

Tech stack:

  • React Native, Expo (managed workflow)
  • React Navigation (bottom tabs + stack)
  • AsyncStorage (on-device persistence)
  • JavaScript, StyleSheet-based UI components
Parameter Value
Platform Android (primary demo target); iOS-compatible codebase
Framework React Native with Expo managed workflow
Navigation React Navigation: bottom tabs + detail stack
Data Bundled JSON catalogue (films, posters, metadata); user state in AsyncStorage
State Context provider with write-through persistence on every change
Network None required — fully offline
Demo Expo Go on a physical device; EAS build config for standalone APK
Screens Home, Search, Watchlist, Film detail

Project features

  • [Bottom-tab navigation] Home, Search and Watchlist tabs with a stack navigator for film detail screens via React Navigation
  • [Browsable catalogue] Bundled film dataset with posters, genres, years, ratings and synopses in trending and top-rated sections
  • [Live search] Client-side filtering by title and genre as the user types — no network needed
  • [Watchlist management] Add/remove films, with separate To-watch and Watched sections and per-section counts
  • [Star ratings] Interactive 5-star rating control on detail screens and row cards, stored per film
  • [Offline-first persistence] All watchlist state held in a context provider and written through to AsyncStorage on every change
  • [Film detail screens] Synopsis, metadata chips, rating summary and quick actions (add, mark watched, rate)
  • [Expo demo build] Runs on a physical phone via Expo Go; EAS build configuration for a standalone APK

What is included

  • Complete React Native source code (screens, navigation, store, persistence layer)
  • Bundled film catalogue dataset with metadata
  • Expo/EAS build configuration and demo-build instructions
  • Project report PDF (React Native architecture, navigation, state design, offline strategy)
  • PPT presentation for final review
  • Viva Q&A preparation document (components, hooks, navigation, AsyncStorage, Expo vs bare)
  • Setup guide (Node, Expo CLI, running on emulator and on-device)

Limitations & prerequisites

  • The catalogue is a bundled static dataset, not a live movie database: new releases will not appear unless the dataset is updated (TMDB API integration is documented future scope).
  • Posters in the demo are stylized generated artwork standing in for licensed poster images; the report states this openly.
  • There is no user account or cloud sync in the base build — the watchlist lives on the device (social/sync features are future scope).
  • Recommendations are not implemented: the app tracks and rates but does not suggest films (listed as future scope).
  • iOS builds need Xcode/a Mac or EAS cloud builds; the primary tested target is Android.

Frequently Asked Questions

Does it need the internet?

No. The catalogue is bundled and all watchlist data persists on-device, so every feature works fully offline.

Will it run on my phone?

Yes — the demo runs on any Android phone via the Expo Go app, and the EAS build configuration produces a standalone APK. The same codebase is iOS-compatible.

Where do the movies come from?

A bundled JSON dataset with titles, genres, years, ratings and synopses. Live data via the TMDB API is documented as the natural next step and can be added as a customization.

Can I add my own ratings?

Yes — the star-rating control on each film's detail screen stores your rating with the film and marks it watched.

Is this project suitable for a final-year project?

Yes — it is listed under Android and suits Computer Science, IT and mobile-development students. It demonstrates React Native components, navigation, state management and on-device persistence.

What will I receive with the project?

Complete source code, the catalogue dataset, Expo/EAS build configuration, project report PDF, PPT, viva Q&A and the setup guide. Suitable for B.E./B.Tech final-year projects in Computer Science, Information Technology and related branches.

Components & software requirements
  • React Native, Expo (managed workflow)
  • React Navigation (bottom tabs + stack)
  • AsyncStorage (on-device persistence)
  • JavaScript, StyleSheet-based UI components
Delivery information

Built-to-order project. Delivery timeline is shared after order confirmation based on current queue.

Support terms

Complete documentation, setup guide, and viva preparation included. Support for setup and explanation provided.

Download abstract (PDF)

Related guides

All guides
Blueprint-style technical illustration of a smartphone with a shield badge, surrounded by camera, photo and location icons connected by circuit traces.Android development students whose apps use the camera, photos, location or notifications and who need their projects to work correctly on current Android versions.

Android Runtime Permissions in 2026: Photo Picker, Partial Access and Foreground Services

Android's permission model has changed in nearly every recent release, and old tutorials now fail silently on modern phones. This guide covers the current model: runtime request flow, the no-permission photo picker, Android 14 partial media access, notification permission, and foreground-service types — with a migration checklist for older student apps.

Read guide
Illustration of an Android phone with background task scheduling diagram showing workers, constraints, and periodic sync arrows.B.E./B.Tech Computer Science and IT students building Android apps that need reliable background work for academic and final-year projects

WorkManager for Background Tasks

Background sync that dies overnight? Learn WorkManager: the right API for guaranteed background work on modern Android. Covers one-time and periodic requests, constraints, chaining, retry/backoff, passing data, observing from UI, and debugging workers delayed by Doze or OEM battery optimizers.

Read guide
Illustration of a smartphone showing a Jetpack Compose UI with composable function blocks and state flow arrows connecting them.B.E./B.Tech Computer Science and IT students building Android apps for academic and final-year projects

Jetpack Compose Basics for Students

Learn Jetpack Compose from zero: the declarative UI mental model (UI as a function of state), composable function rules, state management with remember and hoisting, Column/Row/Box/LazyColumn layouts, Material 3 theming, navigation, and the mistakes every beginner makes.

Read guide
Get a quotation