What it does

SortIt is a lightning-fast, local file organisation program. Instead of just looking at file extensions, SortIt uses Regular Expressions (RegEx es) to sort files. Users can seamlessly add, view, and remove custom rules. For example, a rule can automatically route files matching screenshot_\d{2} into a Screenshots directory, while any files that don't match User-Created rules get sorted by File Extensions.

How I built it

SortIt was built exclusively using Python, using the pathlib library and re module to match RegExes. SortIt also uses a .json file to track and save user rule sets.

Challenges I ran into

The biggest challenge I ran into was trying to make a GUI for the program, as it was my first time making a GUI, I unfortunately couldn't make one in time for the deadline and instead opted for a CLI and GUI hybrid approach, where most of the program was a CLI, but I gave the user the option to use a GUI file dialog to select directories.

Accomplishments that I'm proud of

This being my first ever hackathon, I'm proud that I managed to get a fully working app developed in such a short timespan. Additionally, I'm proud of the speed of the app, as it can organise over 1000+ files in less than a second.

What we learned

I learned many things from this hackathon, firstly, I learned how to manage time in a hackathon, as well as the value of building a MVP (Minimum Viable Product) under deadlines. I also learnt more about how RegExes and RegEx matching works in Python, and learnt a bit of Tkinter and SimpleTkinter.

What's next for SortIt

1. A GUI made with SimpleTkinter

As good as CLIs are, GUIs are more intuitive and user-friendly, hence next I will aim to make a simple and modern GUI for SortIt with SimpleTkinter, a modern wrapper for Tkinter.

2. Sorting based on Content

While sorting based on filenames is powerful, sorting based on the content of the actual files would be even better.

Built With

Share this project:

Updates

Submission history