Skip to main content

Command Palette

Search for a command to run...

SetFiles : An AI-Based File Organizer (Week 0)

Published
•5 min read•View as Markdown
A
I’m a curious learner and aspiring software developer who enjoys building real-world systems, exploring new technologies, and learning in public. I write about coding, personal growth, and turning ideas into practical systems—while simplifying complex concepts for others.
V

I am a CS student learning and exploring this technology field and eagerness to build something.

In today’s digital world, files pile up very quickly. Documents, notes, reports, and text files often end up mixed together in one folder. After some time, finding the right file becomes frustrating and wastes a lot of time.

Manually sorting files into folders needs patience and effort, and honestly, most of us avoid it.

Because of this problem, SetFiles was created. SetFiles is an AI-powered system that organizes files based on what is written inside them, not just their file names or extensions.


Project Collaboration & Our Role

SetFiles is a project started by my friend. We are working on this project together.

My role in this project is to experiment with ideas, test different approaches, and explore what works best. While the main idea comes from my friend, I contribute by trying multiple possibilities and helping improve the system.

My contributions include:

  • Trying different machine learning methods

  • Building and testing the first working ML model

  • Exploring both supervised and unsupervised approaches

  • Experimenting with features like email attachment organization

  • Testing how AI connects with real file systems

This blog series shares our learning journey, mistakes, experiments, and progress as we build this project in public.


The Problem with Traditional File Organization

Most file organizers depend on things like:

  • File names

  • File extensions (like .txt, .pdf)

  • Date and time

These details don’t tell us what the file is actually about.

For example, two files with different names might contain similar content, but they still end up in different folders. On the other hand, unrelated files can get grouped together.

From our own experience, opening a messy folder with many files feels confusing and stressful. Organizing everything manually takes time and energy, especially as the number of files grows.


The AI-Driven Solution

SetFiles solves this by focusing on file content.

Instead of guessing from file names, the system:

  • Reads the text inside each file

  • Understands which files are similar

  • Groups related files together

  • Creates folders automatically

  • Moves files into the correct folders

In simple words, files are organized based on what they talk about, not how they are named.


Key Features

Content-Based Classification

Files are grouped based on meaning, not metadata.

AI-Powered Text Clustering

The AI model decides which files belong together.

Automatic Folder Creation

Folders are created automatically when needed.

GUI and CLI Support

Users can use either a visual app or simple commands.

Saves Time and Effort

No more manual dragging and sorting of files.


Why We Built This Project

The main reason behind SetFiles is simple: save time and reduce mental effort.

Organizing files is boring, repetitive, and adds no real value. Using AI to do this work allows users to focus on more important things.

What started as a small frustration slowly became a useful AI project.


Model Training: Starting Small

Why Use a Simple Model First?

Before building something advanced, we wanted to make sure the basic system works properly.

So we followed this approach:

  • Start with a simple machine learning model

  • Test the full workflow from start to end

  • Check if files are organized correctly

  • Improve the model later

This helps avoid wasting time on complex models too early.


First Model: Support Vector Machine (SVM)

For the first version, we used a Support Vector Machine (SVM).

In simple terms, an SVM:

  • Tries to separate different types of data clearly

  • Finds a boundary that best divides file categories

  • Learns from important examples in the data

Even though we plan to move to unsupervised learning later, SVM helped us test whether the system design works.


Dataset & Data Preparation

We used a text dataset from Kaggle that already had labels.

To prepare the data:

  • We selected only text and labels

  • Cleaned the text

  • Removed unnecessary parts

This made the data ready for training.


Turning Text into Numbers (TF-IDF)

Machines don’t understand text directly, so we converted text into numbers using TF-IDF.

TF-IDF:

  • Gives more importance to meaningful words

  • Reduces the importance of common words

This helps the model understand which words matter most.


Model Training Setup

We used a pipeline that included:

  • TF-IDF for text processing

  • SVM for classification

Key settings:

  • C value: 10

  • Kernel: RBF

This setup keeps training and testing consistent.


Results & What We Learned

The model reached 98.48% accuracy on the test dataset.

However, we know that:

  • Such high accuracy depends on the dataset

  • Real-world files are more messy

  • Actual accuracy may drop to 50–60%

Still, the model works well as a starting point and helps test the complete system.


Experiment: Organizing Email Attachments

We also tried applying the same idea to email attachments.

How It Works

The system:

  • Collects attachments from emails

  • Analyzes their titles or content

  • Organizes them into folders

  • Creates a ZIP file

  • Gives the ZIP file to the user

Users just download and extract the ZIP to get everything neatly organized.


Privacy & Security

Email data is sensitive, so privacy is very important.

To protect users:

  • Users choose how files are organized

  • Sorting can be based on:

    • File title

    • File content

  • No email data is stored permanently

  • Files are processed only for organization

This keeps the system safe and transparent.


🤝 Contributions

Ideas, improvements, and suggestions are always welcome.
You’re encouraged to submit issues or pull requests to help evolve the platform.

Github repo

Building SetFiles: Learning AI-Powered File Organization

Part 1 of 1

This series explores building SetFiles, an AI-driven file organizer. It covers ML experiments, supervised vs unsupervised approaches, pipeline validation, CLI design, and integrating machine learning with real-world file systems.