A secure and private media manager built with React + Vite.
MediaVault lets you store, tag, search, and favorite images and videos locally — all inside your browser using IndexedDB.
No external servers. No cloud. 100% private.
🌐 Live Demo: https://mediavault.vercel.app/
- Local Media Storage – Add images/videos, stored directly in your browser (IndexedDB).
- Search & Filter – Quickly find media by tags or keywords.
- Favorites – Mark important files for quick access.
- Full-Screen Viewer – Preview media, edit tags, download, or delete.
- Offline-Ready – Works without an internet connection.
- Privacy First – No uploads to external servers.
- Frontend: React 18, Vite, CSS3
- Storage: IndexedDB (via browser)
- Deployment: Vercel
mediavault/
├── public/
├── src/
│ ├── components/ # MediaCard, MediaGrid, UploadForm, Viewer
│ ├── hooks/ # Custom IndexedDB hooks
│ ├── pages/ # Main Vault page
│ ├── App.jsx
│ ├── main.jsx
│ └── index.css
├── package.json
├── vite.config.js
└── index.html
npm install
npm run devOpen http://localhost:5173.
Easily deploy using Vercel:
- Build command:
npm run build - Output folder:
dist
- 🔒 Optional encryption for stored media
- ☁️ Cloud sync option
- 🏷 Bulk tagging
This project is open source under the MIT License.
react vite javascript indexeddb mediavault frontend offline vercel

