Inspiration

We got tired of disorganised files and decided to create a solution. Moreover, a lot of organisations use very expansive file management systems that are now outdated and this can be a great replacement.

What it does

Our solution Sorts your files with the power of AI

When a new file is uploaded/downloaded to a specified folder (e.g. Downloads) our application parses the contents of that file to a GPT-3 model that returns a category label for that file from a predefined set of labels. The file is then transferred into an appropriate folder.

The user can add desired label categories in a simple GUI application.

Example:

  • You have a set of folders for your coursework:
  • UniversityCoursework
    • comp1005 C
    • comp1006 Assembly
    • comp1007 Digital Logic
    • comp1001 Discrete Maths
    • comp1004 Databases
    • comp1043 Linear Algebra
    • comp1003 Software Engineering
    • comp1009 Java and Haskell Programming
    • comp1008 Artificial Intelligence
  • You download several files for your coursework with unclear filenames (e.g. "Lecture Slides - Lecture 2File")

  • Filerize application sorts these files into the correct directories.

  • UniversityCoursework
    • comp1005 C
    • comp1006 Assembly
    • comp1007 Digital Logic
    • comp1001 Discrete Maths
    • comp1004 Databases
    • comp1043 Linear Algebra
    • comp1003 Software Engineering
    • comp1009 Java and Haskell Programming
      • Lecture Slides - Lecture 2File
    • comp1008 Artificial Intelligence
  • You have an organised Downloads directory without random files that you will never sort yourself and forget about them tomorrow.

How we built it

  1. Built a GUI application for folder configuration with Python, JS, HTML and CSS using the eel library
  2. Built a file parser that intelligently extracts the contents of files using Python
  3. Developed integration with OpenAI's GPT-3 model that gives a label to a file based on its content
  4. Created a file manager that moves files into the correct directories using Python

Challenges we ran into

1- Integrating code that was written by different team members.

2- Technical challenges such as JavaScript not having access to the file system which limited the ability to select folders from the user interface. This was solved by moving the logic to the python backend and allowing the front end to trigger the folder select box without actually controlling it.

Accomplishments that we're proud of

  1. Having built a proof of concept in less than 24 hours
  2. Solving a real-life problem that we encountered

What we learned

  • That building software with GTP-3 is pretty cool
  • Code collaboration using git.
  • How to rapidly develop useful software that delivers value.
  • Soft skills such as communication and task management. (Used a kanban board to manage tasks)

What's next for Filerize

  1. Our own file classification model (or open-source alternative) so we wouldn't have to rely on OpenAI's GPT-3
  2. Implement support for more file types
  3. Automatic folder suggestion and creation

Built With

Share this project:

Updates