Paste → Resolve → Preview → Save
A privacy-focused media saver for public video, audio, and image links running entirely on your device.
Savewave is a clean, local-first media downloader. It automatically detects media sources, extracts best-available quality streams, and saves them directly to your device without accounts, cloud processing, or server uploads.
- Local Processing: Extraction runs on-device via bundled
yt-dlpandFFmpeg. - Zero Cloud Storage: No remote user database, account system, or media proxies.
- Public Content Only: Supports public URLs (YouTube, Instagram, Facebook, X, SoundCloud, Direct Links, Spotify Smart Match). Private or DRM-gated media is unsupported.
| Layer | Technologies | Responsibility |
|---|---|---|
| Frontend UI | React 18, Tailwind CSS | Responsive Paste → Preview → Save interface |
| Core Logic | TypeScript, Vitest | Source detection, capability gates, error handling, Spotify match scoring |
| Desktop App | Tauri 2, Rust | Safe process lifecycle, URL validation, sidecar management, native saving |
| Media Engine | yt-dlp, FFmpeg |
Local public media extraction and stream remuxing |
| Android App | Kotlin, youtubedl-android |
Native Android engine and scoped MediaStore saving |
- Node.js
22+ - Rust
stable
# 1. Install dependencies
npm install
# 2. Run typecheck & test suite
npm run check
# 3. Download local sidecars & launch desktop app in dev mode
npm run prepare:sidecars
npm run tauri:dev# Run test suite
npm test
# Run Rust unit tests
cd src-tauri && cargo test
# Build production desktop installer
npm run tauri:build- 🏗️ Architecture — System boundaries and lifecycle
- ⚙️ Media Engine Rules — Source detection and extraction policy
- 🛠️ Maintenance & Updates — Tracking
yt-dlpupstream updates - 🚀 Release Process — Releasing desktop and mobile builds
- ✅ Release Checklist — Version files, platform tests, artifacts, and publication checks
Created and maintained by Kuber Bassi (kuberbassi.com · @kuberbassi · LinkedIn).
MIT © Kuber Bassi.