A local media browser for Android. Point it at folders on your device or network storage and it organises your TV shows and movies into a clean, browsable library — with posters and metadata pulled automatically from TMDB.
- Automatic library scanning — Add one or more media source folders via Android's Storage Access Framework (SAF). The scanner recursively discovers TV episodes and movies and streams results into the library as they are found.
- TV show & movie views — Browse all media together or switch to dedicated TV and Movies tabs. TV content can be viewed structurally in different ways (shows/seasons/episodes or all seasons flattened etc.).
- Local metadata enrichment — Standard metadata (folder.png etc.) will automatically be consumed as the library is scanned.
- Cloud metadata enrichment — Enter a TMDB or TheTVDB API key in Settings to fetch official titles, years, and poster artwork automatically. Posters are cached locally so the library is usable offline after the first fetch.
- Video thumbnail generation — Thumbnails are generated for episodes and movies that have no poster, persisted to disk, and reused across sessions.
- Metadata overrides — An edit-mode allows changes to any items title, poster, or other metadata and override what was fetched automatically.
- Flexible display options — Choose between grid and list layouts, adjust poster/thumbnail scale, and select landscape or portrait orientation modes.
- Parent-mode — Includes password-protection for all settings pages, so that the usual user is limited to selecting media to watch.
- Dark & light theme — Follows the system colour scheme automatically.
- Debug log viewer — An in-app log screen captures scan and metadata activity to help diagnose issues without needing a connected debugger.
The library can be enriched with metadata to ensure the best possible user experience.
Enrichment includes per-episode images, so the user can see which one they are selecting.
| Layer | Technology |
|---|---|
| Framework | Expo SDK 55 / React Native 0.83 |
| Navigation | Expo Router (file-based) with drawer + tab layouts |
| State | Redux Toolkit + redux-persist |
| File access | expo-file-system (SAF / Storage Access Framework) |
| Metadata | TMDB REST API |
| Video | expo-video (thumbnail generation via expo-image-manipulator) |
| List rendering | @shopify/flash-list |
-
Install dependencies:
npm install
-
Start the Expo dev server:
npx expo start
From the dev server you can open the app in a development build or an Android emulator.
Note: The app targets Android. iOS and web builds are not actively maintained.
Full environment setup guide: https://docs.expo.dev/get-started/set-up-your-environment/?platform=android&device=physical&mode=development-build&buildEnv=local#set-up-an-android-device-with-a-development-build
Windows quick-start steps:
- Install Node.js
- Install Java JDK 17:
choco install -y microsoft-openjdk17 - Install Android Studio and use the SDK Manager to install the required SDK platforms and build tools
- Set the
ANDROID_HOMEenvironment variable and add%ANDROID_HOME%\platform-toolstoPATH - Verify ADB is available:
adb --version - (Optional) Install EAS CLI if you plan to use Expo's cloud build service:
npm i -g eas-clitheneas build:configure
npx expo prebuild
cd android
.\gradlew assembleReleaseThe signed APK will be output to android/app/build/outputs/apk/release/.