Look, we've all been there. Your Downloads folder looks like a digital tornado hit it. Desktop covered in screenshots from 2019. "New Folder (47)" is mocking you.
Sortify is basically Marie Kondo for your computer (but less judgmental). It's a smart file organizer that:
- Actually understands your files - Not just "oh it ends in .jpg, must be an image" but "hey this is a WhatsApp photo from last Tuesday"
- Uses AI - Because it's 2025 and we should let robots do boring stuff
- Works while you sleep - Set it and forget it (like a Crockpot, but for files)
- Stop Wasting Time - Seriously, how many hours have you spent looking for that one PDF?
- Your Desktop Will Thank You - No more "Screenshot_20231204_final_FINAL_v2.png"
- It's Actually Smart - Knows the difference between vacation photos and AI-generated memes
- Plain English Commands - Just tell it "move all PDFs older than 30 days" and boom, done
- Works While You Netflix - Automatically sorts new files as they arrive
Literally watches your folders and sorts stuff automatically. Like having a really organized friend who never sleeps.
- Detects new files instantly (faster than you can say "where did I save that?")
- Works in the background (minimized, not minimized, whatever)
- Can watch multiple folders at once (overachiever mode)
Oops, didn't mean to move that? No problem.
- "Oh crap" button for your last move
- Full history of everything it's ever touched
- Cherry-pick specific operations to undo (time travel, basically)
If you can drag an icon, you can use this feature. That's it. That's the tutorial.
- Works exactly like you think it does
- Multiple files? Sure, go wild
- Even grandma could figure this out
Want it to auto-sort every Tuesday at 3 AM? Weird, but okay.
- Daily, weekly, monthly - pick your poison
- Set up multiple schedules (one for downloads, one for desktop, etc.)
- Runs even when you're not looking
This isn't your grandpa's file sorter. It actually thinks about your files.
- Reads file contents, not just extensions (detective mode activated)
- Gets smarter over time (unlike my goldfish)
- "Oh that's a resume!" "That's an invoice!" actually understands things
Not all images are created equal, and this tool knows it.
- Can tell if there are faces in photos (not creepy, we promise)
- Screenshots? Sorted. Real photos? Sorted differently.
- Scanned documents get their own VIP section
Knows the difference between your Instagram save-for-laters and WhatsApp group chat chaos.
- WhatsApp, Telegram, Instagram, Facebook, YouTube - it knows them all
- Separate folders for each platform (finally!)
- No more "wait, where did I save that TikTok?"
Forget complicated coding. Just tell it what you want in regular human speak.
- "Move all PDFs older than 30 days to Archive" ← IT UNDERSTANDS THIS
- "Delete temporary files" ← THIS TOO
- "Organize downloads by file type" ← EVEN THIS
No Ph.D. required.
✨ NEW! Finally implemented!
- Finds duplicate files by content (not just name)
- Shows you how much space you're wasting
- Safe delete mode (won't murder your files accidentally)
Probably! Here's what you need:
- OS: Windows 10/11, macOS 10.14+, or Linux (if you use Linux, you already know)
- Python: 3.8 or newer (no, Python 2 won't work, let it go)
- Disk Space: ~150MB (less than a single photo from your phone)
- RAM: 4GB minimum, 8GB if you want the AI to not think in slow motion
- Internet: Needed once to download the AI brain
- Grab the latest installer from Releases
- Double-click it (you know how installers work)
- Click "Next" a bunch of times
- Find it in your Start menu
Heads up: Windows might freak out and say "uNkNoWn pUbLiShEr!1!" - it's fine, we're just small and broke, not malicious.
-
Clone it:
git clone https://github.com/Mrtracker-new/Sortify.git cd Sortify -
Make a virtual environment (trust me on this):
python -m venv venv # Linux/macOS people source venv/bin/activate # Windows people venv\Scripts\activate
-
Install all the things:
pip install -r requirements.txt
-
Fire it up:
python main.py
Troubleshooting PyQt6 Issues: If you get a DLL error on Windows (yeah, Windows things):
pip uninstall PyQt6 PyQt6-Qt6 PyQt6-sip
pip install -r requirements.txtStill broken? Install Visual C++ Redistributables and try again.
Check the scripts in build_tools/ if you want to compile your own installer. Not for the faint of heart.
Pick your organizing style:
🔄 Real-time Auto Sort
- Click the "Auto-Sort" toggle in the toolbar
- Select a folder to watch
- Choose a destination for sorted files
- Files added to the watched folder will be automatically sorted
🖱️ Drag & Drop
- Simply drag files from your file explorer
- Drop them into the main window
- Use the organize button to sort them
⏰ Scheduled Sorting
- Open Settings from the toolbar
- Go to the "Scheduled Sorting" tab
- Configure your schedule and select folders
- Add the job to the scheduler
📱 Social Media Content Organization
- No additional setup required - works automatically
- Media files with names containing platform identifiers (e.g., "whatsapp", "telegram", "instagram") will be sorted into dedicated folders
- Supports common video formats (mp4, avi, 3gp, mov) and image formats (jpg, jpeg, png)
💬 Natural Language Commands
- Go to the "Commands" tab
- Enter a command like "Move all PDFs to Archive folder"
- Click "Execute Command"
- You can also use the example commands provided
Example Commands:
- "Move all images to Pictures folder"
- "Sort PDFs older than 30 days into Archive folder"
- "Organize downloads by file type"
- "Move videos larger than 1GB to External Drive"
- "Find duplicate files in Documents folder"
It Won't Even Open
- Got Python 3.8 or newer? Check with
python --version - Try:
pip install -r requirements.txt(sometimes dependencies get lonely) - Look at the error message (I know, reading is hard, but try)
- Right-click → "Run as Administrator" (when in doubt, ask for more permissions)
- If you see a PyQt6 DLL error, see the installation section above
It's Not Sorting My Stuff
- Do those folders actually exist? (serious question)
- Can you write to that folder? Try creating a text file there manually
- Is the file type supported? We're good, but not magic
- Is another app using the file? Close Excel, for the love of... just close it
The AI Seems... Not Smart
- First run? You need internet to download the brain
- Check if model files are in the app folder
- Turn it off and on again (classic IT solution)
- Got at least 4GB of RAM? The AI needs food to think
Windows Is Having a Panic Attack
- Windows Defender freaking out? Add Sortify to the exclusions list
- Download from official GitHub only (duh)
- We're not malware, Windows is just paranoid about unsigned software
Architecture
The application uses a modular architecture with these key components:
-
Core Modules:
watcher.py: Implements real-time folder monitoringscheduler.py: Manages scheduled sorting tasksai_categorizer.py: Provides machine learning-based file classificationimage_analyzer.py: Analyzes image content and detects social media sourcescategorization.py: Handles file categorization including social media detectionfile_operations.py: Manages file sorting and organization with platform-specific rulescommand_parser.py: Parses natural language commands
-
UI Components:
main_window.py: Main interface with tabssettings_window.py: Configuration interface for all features
Dependencies
-
watchdog: Real-time file system monitoring
- Detects file system events (creation, modification, deletion)
- Provides event handlers for custom actions
- Used in the watcher module for auto-sorting
-
apscheduler: Advanced Python scheduler
- Supports cron-like scheduling
- Persists jobs between application restarts
- Handles background task execution
-
scikit-learn: Machine learning library
- Powers the AI-based file categorization
- Provides classification algorithms for file type prediction
- Used for training custom categorization models
-
opencv-python: Computer vision library
- Analyzes image content for intelligent sorting
- Detects faces, documents, and screenshots
- Extracts visual features for categorization
-
nltk: Natural Language Toolkit
- Processes natural language commands
- Performs text tokenization and parsing
- Extracts meaning from user instructions
-
spaCy: Advanced NLP library
- Provides named entity recognition
- Understands semantic relationships in commands
- Enhances natural language command parsing
-
PyQt6: GUI framework
- Creates the modern user interface
- Handles drag & drop functionality
- Manages application windows and dialogs
See requirements.txt for a complete list of dependencies and version requirements.
Awesome! We love contributors:
- 🐛 Found a bug? Tell us on GitHub Issues
- 💡 Got ideas? Share them in Discussions
- 🧪 Write tests (we know, nobody likes writing tests, but please?)
- 📝 Fix typos (there are definitely typos)
- 🔧 Code stuff (pull requests welcome!)
- 🌐 Translate (not everyone speaks English... or emoji)
- Fork the repository on GitHub
- Clone your fork locally
- Set up the development environment as described in the Installation section
- Create a new branch for your feature or bugfix
- Make your changes and add appropriate tests
- Run the test suite to ensure everything works
- Submit a pull request with a clear description of the changes
- Use PEP 8 (Google it if you don't know)
- Commit messages that actually explain what you did
- Docstrings are your friend (future you will thank you)
- Tests. TESTS. TESTS!
- Update docs when you change stuff
MIT License - basically do whatever you want, just don't sue us. See LICENSE for the legal mumbo jumbo.
👤 Made by: Rolan Lobo (hi mom!)
📧 Email: [email protected]
🐞 Report Bugs: GitHub Issues
⭐ Like it?: Star the repo (it makes us feel good)
P.S. - If this tool saved you from digital chaos, consider buying me a coffee... or just star the repo. Stars are free and I'm broke.
Made with ❤️, ☕, and a lot of "why won't this work?!" moments