Skip to content

swendlcode/stash-desktop

Repository files navigation

Stash

License: MIT Tauri React TypeScript Rust SQLite Vite

Stash hero

Local sample library manager for producers. Splice-inspired interface, fully offline. Browse, filter by BPM/key, preview audio and MIDI, and organize your own library.

Download: stash.swendl.com

Features

  • Offline-first desktop app
  • Fast indexing for samples, MIDI, and presets
  • BPM/key filtering and full-text search
  • Audio waveform and MIDI preview
  • Folder-based browser with pack organization
  • Auto-update flow via GitHub Releases

Tech Stack

  • Desktop: Tauri 2.0
  • Frontend: React 18 + TypeScript + Vite
  • Backend: Rust
  • Database: SQLite

Stash browser preview

Prerequisites

  • Node.js 20+
  • npm
  • Rust 1.78+ (stable), install via rustup
  • macOS: Xcode Command Line Tools (xcode-select --install)

Local Development

npm install
npm run tauri dev

Production Build

npm run tauri build

The app stores SQLite in the platform-standard app data directory:

  • macOS: ~/Library/Application Support/app.stash.desktop/stash.db
  • Linux: ~/.local/share/app.stash.desktop/stash.db
  • Windows: %APPDATA%\\app.stash.desktop\\stash.db

Release

Push a version tag to trigger the release workflow:

git tag v1.0.0
git push origin v1.0.0

Project Structure

src/              React + TypeScript frontend
src-tauri/src/    Rust backend (commands, core, db, metadata, models)

First Run

  1. Launch the app.
  2. Click Add Folder in the sidebar.
  3. Select a folder containing samples, MIDI, or presets.
  4. Wait for indexing to complete.
  5. Search, filter, and preview assets in the Browser tab.

License

MIT. See LICENSE.

About

Offline sample library manager for producers with BPM/key search, waveform and MIDI preview.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages