AutoSort is a full-stack desktop utility app built to keep your computer clean, organized, and clutter-free — automatically. Think of it as the neat freak your computer has always needed. It sorts files by their file type into proper categories and keeps everything tidy with zero stress.
AutoSort combines:
- A modern, responsive Flutter desktop client
- A fast, reliable Python backend (FastAPI)
- Real-time monitoring and intelligent file organization
Its mission is simple: Bring structure to digital chaos — with speed, safety, and style.
- Rule Engine: Define custom rules to organize files by category and file extension.
- Exception Handling: Specify file extensions that AutoSort should explicitly ignore.
- Duplicate Management: Configure the service to either Merge duplicates or keep them Separate.
- Atomic Operations: Ensures files are moved/copied correctly before deletion/finalization, with customizable processing delays.
- Modes of Operation: Easily switch between Manual "Sort Now" mode and Automated "Monitor" mode for real-time changes.
- Live Dashboard: View real-time file counts organized by category (Documents, Videos, Images, Audio, Archives, etc.).
- Comprehensive Activity Logs: Review all historical operations (sorts, scans, errors) with filtering by All Logs, Errors, Scans, or Monitor activity.
- API Health Status: Includes a splash screen that checks the backend API health before loading the main application.
- Built with Flutter for Windows, macOS, and Linux.
- Dynamic, dark-themed UI using Lucide Icons and custom color schemes.
- Advanced Config Editor: An in-app JSON editor allows power users to directly view and update the entire backend configuration.
- Smooth user experience with Snackbar Notifications for successful operations and errors.
AUTOSORT/
│
├── client/
│ └── autosort/ # Flutter desktop utility app
│ ├── lib/ # UI, pages, widgets, services
│ ├── assets/ # Images, icons, fonts
│ ├── windows/ linux/ macos/
│ ├── pubspec.yaml
│ └── README.md # (to be added later)
│
├── server/
│ └── AutoSort-File-Organizer/ # Python backend
│ ├── src/ or modules/ # File organization logic
│ ├── main.py # API entry point
│ └── README.md # (to be added later)
│
└── README.md # Root overview (this file)
- Flutter
- Dart
- Lucide Icons
- Provider (State Management)
code_text_field(For JSON Editor)
- Python 3.x
- FastAPI (Local REST API)
pathlib/os(File System Operations)- Hashing Library (e.g.,
hashlib): For duplicate detection & file verification.
git clone https://github.com/YOUR_USERNAME/autosort.git
cd autosortIt is highly recommended to use a Python virtual environment!
# Create and activate a virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows, use: .venv\Scripts\activate
cd server/AutoSort-File-Organizer
pip install -r requirements.txt
python main.pycd client/autosort
flutter pub get
# Use the flag corresponding to your operating system:
flutter run -d windows # or -d macos, -d linux- The Python backend scans your target folders
- It categorizes files based on configured Rules
- AutoSort performs safe, atomic operations (copy → verify → replace)
- The Flutter client displays live stats, categories, and actions
- You control operations such as:
- Sort Files (Manual Trigger)
- Monitor File Changes (Automated)
- Manage Rules and Exceptions
- Merge/Keep Duplicates
AutoSort stays lightweight, fast, and dependable — exactly how a utility app should be.
- Background-service mode with system tray
- Make an actual python library that can be installed
Contribution guidelines will be added in v1.0. Pull requests are welcome once the architecture is stabilized.
MIT License — free for personal and commercial use.
AutoSort is designed to be a practical, everyday desktop utility — install it once and let it silently keep your system neat, organized, and stress-free.
