SlasshyVault is a cloud-first desktop media library app built with Tauri, Rust, React, and TypeScript.
It indexes video content from Google Drive, enriches it with TMDB metadata, and plays it through MPV with progress tracking, resume support, and archive-aware playback.
- Indexes your Google Drive video library into a local SQLite database
- Fetches posters, thumbnails, episode metadata, and overviews from TMDB
- Plays media through MPV with resume, history, and progress saving
- Detects cloud changes in the background and keeps the library updated
- Supports archive-aware playback for supported cases, including playable
.rararchives - Shows clear frontend warnings when archive media is not directly playable
- Cloud-first library management
- TV show and episode grouping
- Watch history and resume playback
- System tray support
- Windows notifications when the app is minimized or in the background
- In-app toast notifications while the app is open and focused
- Manual metadata correction with Fix Match
- Archive playback status and compatibility messaging
SlasshyVault can detect and assess archived media before playback.
.zip: supported where the archive entry can be played or prepared by the backend.rar: supported for playable archive cases.tar: currently not playable
If SlasshyVault detects a .tar file, it informs the user in the UI and explains why it cannot be indexed for playback right now.
Playback is powered by MPV.
SlasshyVault bundles a pre-built MPV binary for hassle-free installation — you don't need to install MPV separately. The bundled binary is downloaded from the official MPV project on first launch.
- Use either the built-in MPV build or this specific version (20251217) for hassle-free playback.
Acknowledgments: MPV is released under GPLv2. All rights and credits for MPV belong to the mpv project and its contributors. SlasshyVault is not affiliated with or endorsed by the MPV team.
- Native playback for common video formats
- Resume from previous progress
- Watch history tracking
- Better MPV display titles for archived TV episodes, including
SxxExx
| Layer | Technology |
|---|---|
| Frontend | React 18, TypeScript, Tailwind CSS, Radix UI, Framer Motion |
| Backend | Rust, Tauri |
| Database | SQLite |
| Playback | MPV |
| Metadata | TMDB |
| Cloud | Google Drive API |
Before running SlasshyVault locally, install:
- Node.js 18+
- Rust stable
- MPV
Windows:
- Install MPV from mpv.io or a trusted Windows build
- Make sure
mpv.exeis available in your systemPATH, or configure it in app settings
git clone https://github.com/SlasshyOverhere/SlasshyVault.git
cd SlasshyVault/slasshyvault
npm install
npm run tauri devnpm run tauri buildInstallers are generated under src-tauri/target/release/bundle/.
- Launch SlasshyVault
- Complete onboarding
- Connect Google Drive
- Add your TMDB API key if you want metadata and artwork
- Run a library update
If you want to use your own backend:
- Deploy the backend
- Set
VITE_AUTH_SERVER_URLin.env - Set backend-related environment variables for Tauri builds as needed
- Build the app with those values
Common supported formats include:
.mkv .mp4 .avi .mov .webm .m4v .wmv .flv .ts .m2ts
slasshyvault/
├── src/ React frontend
├── src-tauri/ Rust + Tauri backend
├── package.json
└── README.md
- Improved notification behavior and reduced repeated notifications
- Added
.rararchive support for supported playback cases - Added frontend archive compatibility messaging
- Added
.tardetection with clear unsupported reason - Fixed MPV archive playback titles so TV episodes show better metadata
Pull requests are welcome.
- Fork the repo
- Create a branch
- Make your changes
- Open a pull request
This project is entirely vibe-coded as a hobby project.
npm testcd src-tauri
cargo testnpm run lintnpx tsc --noEmit