https://github.com/huffmanks/pocket-player
A simple mobile app to locally upload, store and watch videos.
https://github.com/huffmanks/pocket-player
android expo react-native video-player
Last synced: 5 months ago
JSON representation
A simple mobile app to locally upload, store and watch videos.
- Host: GitHub
- URL: https://github.com/huffmanks/pocket-player
- Owner: huffmanks
- License: mit
- Created: 2024-10-28T04:29:22.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-05-16T20:37:07.000Z (about 1 year ago)
- Last Synced: 2025-05-16T21:33:17.865Z (about 1 year ago)
- Topics: android, expo, react-native, video-player
- Language: TypeScript
- Homepage:
- Size: 1.15 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
# Pocket Player
Android app to locally store and watch videos.
## Features
- Import videos directly from your device.
- Store and watch videos entirely offline.
- Custom video player with enhanced controls.
- Thumbnail generation and metadata extraction.
- Lightweight and privacy-friendly — no cloud or network access.
## Previews



## Tech Stack
- [React Native](https://github.com/facebook/react-native)/[Expo](https://github.com/expo/expo)
- DB: [Drizzle ORM with SQLite](https://github.com/drizzle-team/drizzle-orm)
- State and storage: [Zustand](https://github.com/pmndrs/zustand) + [react-native-mmkv](https://github.com/mrousavy/react-native-mmkv)
- UI libraries: [RN Primitives](https://github.com/roninoss/rn-primitives), [RN Reusables](https://github.com/mrzachnugent/react-native-reusables), [Nativewind](https://github.com/nativewind/nativewind)
## Notes
- This app is intended for local use only. No data leaves your device.
- Requires expo-dev-client; not compatible with Expo Go.
- See the [app design overview](design.md) for themes, logos, and asset generation details.
## Install
### Option 1: Download prebuilt universal APK
Download the latest APK from the [Releases](https://github.com/huffmanks/pocket-player/releases) page and install it on your Android device.
### Option 2: Build a device-specific APK
You can generate a smaller, optimized APK for your specific device using the provided `generate-device-apk.sh` script:
1. **Build the AAB with EAS**
```sh
# use --local to build on device.
eas build -p android --profile preview
```
2. **Download the .aab file (if built via expo.dev)**
- Place it in the root directory. You can skip this step if you built it locally.
3. **Get credentials.json and keystore.jks**
```sh
eas credentials -p android
```
4. **Create .env.local**
- Copy the example .env file and update its values with those from credentials.json.
```env
cp example.env .env.local
```
5. **Make script executable**
```sh
chmod +x generate-device-apk.sh
```
6. **Run script**
```sh
./generate-device-apk.sh
```
## Roadmap
- [ ] Save timestamp of last view of video.
- [key = `videoProgress:${videoId}`](lib/store.ts#L453)
- value = `10` (player.currentTime | number | seconds)
## License
[MIT License](LICENSE)