Professional desktop app (Tauri + React + Vite + TailwindCSS) that automatically turns entire music-video libraries into training-ready datasets for NVIDIA Cosmos Predict / Transfer, LoRA, NeMo and future Boostify models.
Point it at a folder or a whole SSD — it scans, indexes, splits, analyzes, captions, scores, de-duplicates and exports. The user never writes metadata by hand.
Every stage is an independent module under src-tauri/src/:
| Module | Responsibility |
|---|---|
scanner.rs | Recursive discovery (MP4/MOV/MXF/BRAW/R3D/ProRes/XAVC…), SHA-256 hashing, artist/project inference |
db.rs | SQLite schema + CRUD (videos, clips, datasets, settings) |
probe.rs | FFprobe metadata + FFmpeg scene-cut detection |
splitter.rs | Clip cutting, thumbnails, 8×8 average-hash, brightness/sharpness probes |
ai.rs | Scene analysis + rich captioning + auto-tagging (NVIDIA NIM hook, heuristic fallback) |
pipeline.rs | Orchestrator: split → analyze → caption → score → dedup → approve |
dataset.rs | Dataset tree + train/validation/test.jsonl export (Cosmos/LoRA/NeMo…) |
system.rs | GPU detection (CUDA/Metal/CPU), dependency + storage checks |
watch.rs | Watch mode — auto-index new files as they land |
UI pages: Dashboard, Library, Pipeline, Review (Lightroom-style), Smart Search, Datasets, Settings.
PATH (required for splitting/probing). On macOS:
brew install ffmpeg. You can also set FFMPEG_PATH / FFPROBE_PATH.npm install
npm run app:dev # tauri dev — opens the desktop window
npm run app:build # .dmg / .app (macOS), .msi / .exe (Windows)
The pipeline runs fully offline with local heuristics. To upgrade quality:
ai.rs::caption_with_nim (vision-language model, e.g. nvidia/vila).ai.rs::analyze_scene.pose/, depth/, edges/, segmentation/,
optical_flow/ sidecars during export in dataset.rs.18 commits
Python
52.1%
JavaScript
16.3%
Rust
15.7%
TypeScript
10.3%
HTML
5.1%
Professional desktop app (Tauri + React + Vite + TailwindCSS) that automatically turns entire music-video libraries into training-ready datasets for NVIDIA Cosmos Predict / Transfer, LoRA, NeMo and future Boostify models.
Point it at a folder or a whole SSD — it scans, indexes, splits, analyzes, captions, scores, de-duplicates and exports. The user never writes metadata by hand.
Every stage is an independent module under src-tauri/src/:
| Module | Responsibility |
|---|---|
scanner.rs | Recursive discovery (MP4/MOV/MXF/BRAW/R3D/ProRes/XAVC…), SHA-256 hashing, artist/project inference |
db.rs | SQLite schema + CRUD (videos, clips, datasets, settings) |
probe.rs | FFprobe metadata + FFmpeg scene-cut detection |
splitter.rs | Clip cutting, thumbnails, 8×8 average-hash, brightness/sharpness probes |
ai.rs | Scene analysis + rich captioning + auto-tagging (NVIDIA NIM hook, heuristic fallback) |
pipeline.rs | Orchestrator: split → analyze → caption → score → dedup → approve |
dataset.rs | Dataset tree + train/validation/test.jsonl export (Cosmos/LoRA/NeMo…) |
system.rs | GPU detection (CUDA/Metal/CPU), dependency + storage checks |
watch.rs | Watch mode — auto-index new files as they land |
UI pages: Dashboard, Library, Pipeline, Review (Lightroom-style), Smart Search, Datasets, Settings.
PATH (required for splitting/probing). On macOS:
brew install ffmpeg. You can also set FFMPEG_PATH / FFPROBE_PATH.npm install
npm run app:dev # tauri dev — opens the desktop window
npm run app:build # .dmg / .app (macOS), .msi / .exe (Windows)
The pipeline runs fully offline with local heuristics. To upgrade quality:
ai.rs::caption_with_nim (vision-language model, e.g. nvidia/vila).ai.rs::analyze_scene.pose/, depth/, edges/, segmentation/,
optical_flow/ sidecars during export in dataset.rs.18 commits
Python
52.1%
JavaScript
16.3%
Rust
15.7%
TypeScript
10.3%
HTML
5.1%