Skip to content

hsr88/mouzi

Repository files navigation

Mouzi 🧹🐁

Your downloads, tamed.

Mouzi is a silent, elegant file organizer that lives in your system tray and keeps your Downloads folder (and any other folder) automatically tidy. It runs quietly in the background, monitors selected folders, and moves, renames, or sorts files based on customizable rules.

Product Hunt Reddit

Windows Linux Tauri Rust React License GitGem

Download Mouzi


📸 Screenshots

mouzigiflinux_maly resized-1_1781356999 resized-2_1781357019 resized-mouzilinux resized-mozuilinux2

✨ Features

🔇 Silent by Default

  • Runs 24/7 in the background with minimal resource usage (~5 MB RAM)
  • Automatically organizes new files as they arrive
  • Shows a subtle Windows toast notification with the count of organized files
  • Silent autostart with Windows

📁 Smart Rules Engine

  • Images (.jpg, .png, .gif, .webp...) → Downloads/Images/
  • Documents (.pdf, .docx, .xlsx...) → Downloads/Documents/
  • Archives (.zip, .rar, .7z...) → Downloads/Archives/
  • Installers (.exe, .msi...) → Downloads/Installers/
  • Music / Video → dedicated folders
  • Catch-all rule for everything else

🛠️ Fully Customizable

  • Create your own rules with extensions, regex patterns, and destination folders
  • Use dynamic placeholders in paths: {year}, {month}, {day}, {extension}, {filename}
  • Reorder rules by priority - first match wins

🚫 Ignore Rules (.mouziignore)

  • Per-folder ignore patterns — like .gitignore for your files
  • Set up via Settings UI or write a .mouziignore file manually
  • Supports wildcards (*.tmp), exact names (.DS_Store), and folders (node_modules/)

📂 Folder Modes

Each watched folder can run in one of three modes:

  • Silent - automatically organize files as they arrive (default)
  • Manual - collect files and only process them when you click Clean Now
  • Paused - watch the folder but don't move anything

📦 Google Takeout Import

  • Import .zip, .tgz, or .tar.gz archives directly from Google Takeout
  • Files are extracted to a staging folder and sorted using your existing rules
  • No need to manually unzip and reorganize everything

📜 History & Undo

  • Every action is logged locally in SQLite
  • Undo any single move with one click
  • Clear history anytime

🌍 Multi-language

Auto-detects your system language. Supported:

  • 🇬🇧 English
  • 🇵🇱 Polish
  • 🇮🇹 Italian
  • 🇩🇪 German
  • 🇫🇷 French
  • 🇷🇺 Russian
  • 🇯🇵 Japanese
  • 🇻🇳 Vietnamese
  • 🇪🇸 Spanish

(Falls back to English if system language is not supported)

🕶️ Dark Mode

  • Follows system theme, or force Light / Dark mode from settings

🔒 Privacy First

  • 100% offline - zero cloud, zero file name uploads
  • No telemetry by default
  • System files ignored - desktop.ini, Thumbs.db, .DS_Store, and other OS hidden files are never touched
  • Portable version available - run without installing, leaves no trace in the registry
  • All data stored locally in your user profile folder

📥 Download

Windows

Installer Size Best For
Mouzi_0.1.4_x64-setup.exe ~3.3 MB Regular users (auto-installer)
Mouzi_0.1.4_x64_en-US.msi ~4.7 MB Enterprise / Active Directory
Mouzi_0.1.4_x64-portable.exe ~14 MB Power users (no install)

⚠️ Windows 10/11. Requires the Microsoft Edge WebView2 Runtime (pre-installed on most systems).

Linux

Package Size Best For
Mouzi_0.1.4_amd64.AppImage ~86 MB Universal — works on most distros
Mouzi_0.1.4_amd64.deb ~6.9 MB Debian, Ubuntu, Mint, Pop!_OS
Mouzi-0.1.4-1.x86_64.rpm ~6.9 MB Fedora, openSUSE, RHEL

🐧 Linux requirements: libwebkit2gtk-4.1 and libayatana-appindicator3. Most modern distros have these pre-installed.

SHA-256 Checksums

Mouzi_0.1.4_x64-setup.exe:   (see release page)
Mouzi_0.1.4_amd64.AppImage:  (see release page)
Mouzi_0.1.4_amd64.deb:       (see release page)
Mouzi-0.1.4-1.x86_64.rpm:    (see release page)

🚀 Quick Start

  1. Download Mouzi for your OS using the links above.
  2. Windows: Install and Mouzi starts automatically with a tray icon (📂). Linux: Run the AppImage directly, or install the .deb/.rpm package.
  3. Left-click the tray icon to open the popup - see recent actions, stats, and clean manually.
  4. Right-click the tray icon for the menu: Clean Now, Settings, Quit.
  5. Drop a file into your Downloads folder and watch it disappear into the right subfolder within 2 seconds.

⚙️ How Rules Work

Rules are evaluated top-to-bottom. The first rule that matches a file wins.

Condition Example Match
Extensions jpg, png, gif
Regex pattern .*faktura.* matches faktura_2025.pdf

Destination path placeholders:

Downloads/Documents/{year}/{month}/
→ Downloads/Documents/2026/05/

📐 Architecture

+---------------------------------------------+
|  Frontend (React 19 + TypeScript + Tailwind) |
|  +- Popup window (300x420, frameless)        |
|  +- Settings window (900x650)                |
+---------------------------------------------+
|  Tauri 2.x Bridge                            |
+---------------------------------------------+
|  Backend (Rust)                              |
|  +- File Watcher (notify crate)              |
|  +- Rules Engine                             |
|  +- Scheduler (time-based cleaning)          |
|  +- SQLite Database (rusqlite)               |
|  +- System Tray & Notifications              |
+---------------------------------------------+

🛠️ Development

Prerequisites

  • Rust (latest stable)
  • Node.js 22+
  • Windows: Windows SDK / MSVC (Visual Studio Build Tools)
  • Linux: libwebkit2gtk-4.1-dev, libayatana-appindicator3-dev, fuse (see Tauri Linux prerequisites)

Setup

# Clone the repo
git clone https://github.com/yourusername/mouzi.git
cd mouzi

# Install frontend dependencies
npm install

# Run in development mode (hot-reload for both frontend & Rust)
npm run tauri dev

Build from Source

# Production build (MSI + NSIS installer)
npm run tauri build

Output will be in src-tauri/target/release/bundle/.


🆕 What's New in 0.1.4

Bug Fixes

  • Fixed Wayland protocol error on Linux by disabling the DMABuf renderer.
  • Cross-drive file moves now work correctly.

New Features

  • Native Google Takeout archive import (extract + sort).
  • Spanish and Vietnamese translations.

UI / UX

  • Improved input styles and theme consistency, especially on macOS.
  • Fixed invalid Tailwind classes.

📋 Roadmap

Already implemented

MVP with default rules, multi-language support, dark mode, history & undo, start with Windows, custom folders with local rules, folder modes (silent / manual / paused), system files ignored, check for updates, .mouziignore, portable version, browser temp files ignored, grace period option, file lock check, single-instance guard, first-run popup visibility, clickable toast, skip 0 KB placeholder files, Linux port, Google Takeout archive import, Wayland crash workaround.

Upcoming

  • Confirmation dialog for "Delete History" button
  • Batch group selected files
  • Suggest mode (modal confirmation per file)
  • Extension normalization rule (per-rule toggle + custom mappings, e.g. .jpeg.jpg)
  • Auto-update via Tauri updater
  • Windows Explorer context menu ("Add to Mouzi")
  • npm wrapper (npm install -g mouzi) for cross-platform CLI install
  • Local AI tagging (ONNX runtime for content classification)
  • Rule learning from user manual moves
  • macOS port

☕ Support

If Mouzi saves you time and keeps your Downloads folder sane, consider supporting its development:

ko-fi

Or visit the project homepage: mouzi.cc


See Also

Order folders any way you want inside Windows File Explorer, and add custom thumbnails.


📄 License

Mouzi is released under the MIT License.


🙏 Acknowledgements

Built with Tauri, React, Tailwind CSS, and Rust.


Made with ❤️ for people who download too much stuff.

About

A free, privacy-first automatic file organizer that quietly sorts your Downloads folder from the system tray.

Topics

Resources

License

Stars

682 stars

Watchers

3 watching

Forks

Sponsor this project

  •  

Packages

 
 
 

Contributors