Mundam is a high-performance, local-first image reference manager designed specifically for artists, concept designers, and illustrators. It allows you to organize, tag, and view massive collections of reference images with zero lag, keeping your workflow uninterrupted.
Built with Tauri v2, Rust, and SolidJS, Mundam combines the raw power of native code with the reactivity of modern web interfaces.
-
Extreme Performance:
- Virtualized Masonry Grid: Handles folders with thousands of images at a silky smooth 60fps.
- Parallel Processing: Uses multi-threaded CPU acceleration (Rayon) to generate high-quality WebP thumbnails in the background without freezing the UI.
- Smart Caching: Thumbnails are generated once and persisted. The incremental indexer tracks file changes instantly.
-
Artist-Centric Design:
- Distraction-Free UI: Minimalist dark mode interface that puts your art first.
- Local First: No cloud uploads, no subscriptions. Your images stay on your disk.
- Real-Time Watcher: Drop images into your folder, and they appear in the library immediately.
-
Efficient Indexing:
- Duplicate Detection: (Planned) Hash-based tracking to avoid duplicates.
- Metadata Preserved: Automatically reads modification dates and file specs.
- Frontend: SolidJS, TypeScript, Vite
- Backend: Rust (Tauri v2)
- Database: SQLite (via
sqlx&tauri-plugin-sql) - Styling: Vanilla CSS (Scoped, Variable-based)
- Architecture:
- Custom
thumb://andorig://protocols for secure asset loading. - Upsert-based indexing for robust crash recovery.
- Rayon-powered worker threads for heavy image lifting.
- Custom
- Node.js (v18+)
- Rust (v1.70+)
- macOS / Linux / Windows (Build tools required)
-
Clone the repository
git clone https://github.com/marcusagm/Mundam.git cd mundam -
Install Frontend Dependencies
npm install
-
Run in Development Mode This command starts the Vite server and the Tauri Rust backend simultaneously with hot-reload enabled.
npm run tauri dev
-
Build for Production
npm run tauri build
The binary will be available in
src-tauri/target/release/bundle/.
This project intentionally diverges from typical Electron/Web apps to prioritize performance:
- Optimistic Updates: The indexing worker communicates directly with the UI store via granular events, eliminating database polling and ensuring instant visual feedback.
- Blocking Placeholders: The UI intelligently hides original high-res images until the lightweight thumbnail is ready, saving significant RAM and CPU during rapid scrolling.
- Self-Healing DB: The internal SQLite database handles schema creation and migrations automatically on startup (
create_if_missing).
- Location Management: Select and monitor local folders.
- Real-time Watcher: Auto-sync new files, renames, and deletions.
- Drag-and-Drop: Import folders via drag-and-drop.
- Integrity Checks: Detect and handle broken paths or moved libraries.
- Hierarchical Tags: Parent/Child tag structures (Tag Tree).
- Tag Management: Rename, merge, and move tags; custom colors.
- Assignment: Bulk tagging, auto-complete suggestions.
- Tag Search: Quick filtering of the tag list itself.
- Masonry Layout: Optimized virtualized grid for variable aspect ratios.
- Progressive Loading: Async thumbnail generation and "lazy" original loading.
- Slide/Inspection Mode: Fullscreen viewer with zoom/pan and navigation.
- File Actions: "Open in Explorer", "Copy to Clipboard".
- Basic Search: By filename.
- Advanced Criteria: Filter by resolution, file type, dates, or tag logic (AND/OR).
- Smart Collections: Saved searches that auto-update (Smart Folders).
- EXIF/IPTC: Auto-read camera data and creation dates.
- Custom Properties: User-defined fields (Notes, URL source).
- Web Clipper: Browser extension integration for direct imports.
- Parallel Indexing: Rayon-powered background worker for thumbnails.
- Resilient Database: SQLite Upsert logic for crash recovery.
- Backup System: Automated database snapshots.
- Format Support: Extensive support for 3D, Fonts, RAW, and Vectors.
Mundam provides extensive support for various media types, categorized by their rendering and thumbnail generation capabilities.
Total registered formats: 137 extensions
- Native/Full Support: 98 (Thumbnail processing + Interactive visualization)
- Basic Support: 39 (Visualization available, thumbnails via format icons or stubs)
- Testing Base: 206 formats monitored for future expansion.
| Category | Formats | Status | Notes |
|---|---|---|---|
| Standards | jpg, jpeg, jpe, jfif, webp, png, tiff, gif, bmp, ico, tga |
β | Full support (Thumb + View). |
| Design | psd, psb, afdesign, afphoto, afpub, xmind, aseprite, kra, xcf, clip |
β | Full support (Thumb + View). |
| RAW | dng, cr2, nef, nrw, rw2, raf, orf, pef, erf, sr2, srf, cr3, crw, arw, 3fr, srw, kdc |
β | Full support (Thumb + View). |
| RAW (Stubs) | braw, r3d, ari, gpr, iiq, x3f, dcr, fff, iiq, mos |
π§ | Planned support. |
| Specialized | pam, pbm, pgm, pnm, ppm, cur, heic, heif, avif, exr, dds |
β | Full support (Thumb + View). |
| Vectors | svg |
β | Full support (Thumb + View). |
| Publishing | indd, idml, sketch, fig, cdr, pdf, mdp |
π§ | Planned support. |
| Adobe/OS | ai, eps |
ποΈ | View usually works via WebView/OS. |
| Category | Formats | Status | Notes |
|---|---|---|---|
| Standard 3D | glb, gltf, obj, fbx, stl, dae, 3ds, dxf, lws, lwo |
ποΈ | View only (Thumbnails pending). |
| Project | blend |
ποΈ | View as image (Internal preview). |
| USD & CAD | usdz, usd, usda, usdc, step, stp, iges, igs |
π§ | Planned support. |
| Formats | Status | Notes |
|---|---|---|
ttf, otf, ttc, woff, woff2 |
β | Full support (Thumb + View). |
eof |
π§ | Planned support. |
| Category | Formats | Status | Method |
|---|---|---|---|
| Native Video | mp4, m4v, mov, qt |
β | Native browser playback. |
| Transcoded Video | webm, wmv, asf, mkv, flv, f4v, avi, divx, mxf, ts, mts, vob, m2ts, 3gp, 3g2, wtv, rm, rmvb, ogv |
β | HLS Streaming. |
| Linear Video | swf, m2v, mpg, mpeg, mjpeg, mjpg, hevc, h264, h265, y4m |
β | Linear HLS for legacy/raw formats. |
| Video Projects | aep, prproj, fcpxml, drp |
π§ | Planned support (Icons). |
| Native Audio | mp3, wav, aac, m4a, m4r, flac, mp2 |
β * | Native browser playback. |
| Transcoded Audio | opus, oga, ogg, wma, ac3, dts, wv, aifc, amr, ape, spx, ra, mka, aiff, aif, caf, aax, mid, midi, bwf |
β * | HLS / Linear HLS Streaming. |
Legend:
- β Full Support: Thumbnail generation and interactive visualization.
- β * Audio Support: Interactive visualization with format-specific icons as thumbnails.
- πΌοΈ Thumb Only: Thumbnail available, but no deep inspection/view.
- ποΈ View Only: Interactive visualization available, but no thumbnail.
- π§ OS Dependent: Behavior varies depending on system-level codecs/WebView.
- β No Support: Currently not supported for preview or view.
This project is licensed under the MIT License - see the LICENSE file for details.