VaultSort: The AI-Native Directory Organiser That Evolves With You
VaultSort (formerly Directory Organizer 3.0) is an open-source, AI-native Go tool that watches your folders, intelligently categorises your files, and builds a searchable Obsidian-style vault of your digital life.
I have a confession to make. My Downloads folder has always been a disaster zone. PDFs, screenshots, random scripts, installer files, and half a dozen folders named "New folder (2)" scattered across the place. I tried every file organiser I could find, but they all had the same problem: rigid rules, manual regex configurations, and absolutely zero intelligence about what my files actually contained.
So I built my own.
VaultSort (formerly Directory Organizer 3.0) started as a simple Python script and has since evolved into a full-blown, AI-native Go application that watches your folders, categorises your files based on their actual content, and builds a searchable Obsidian-style markdown vault of everything it organises.
It is open source, it is free, and it might just be the last file organiser you will ever need.
What makes it different?
Most organisers work on file extensions alone. A .pdf goes into Documents, a .jpg goes into Images, and that is the end of the logic. VaultSort works differently. It pairs a fast Go-powered content extractor with an AI agent that actually reads your files and decides where they belong.
The Go extractor scans your target folder recursively, pulls metadata and text snippets from every file it finds, and crucially, it respects project boundaries: if it finds a .git folder, a node_modules directory, or a Cargo.toml, it treats the whole thing as a single project unit and leaves it intact. That alone saved me from accidentally shredding a Git repository, something I have definitely done with other organisers.
Once the data is extracted, the AI agent suggests intelligent filenames and categories based on the actual content of each file, not just its extension.
The TUI experience
One thing I did not want was another config-file-driven tool that requires reading a manual before you can use it. So I built a Terminal User Interface using Bubble Tea that boots up and starts watching your folder the moment you open it.
No configuration. No setup. Just run ./organizer.exe tui and it immediately starts monitoring your target directory. Drop a file in, and it gets processed.
The menu gives you a few straightforward options:
- Organize Folder: Queue all existing files for AI categorization
- Change Target Folder: Point it at a different directory
- Scan & Index: Update the local SQLite database without moving anything
- Restart Watcher: Kick the file watcher back into action
The markdown vault
Here is my favourite part. Every time VaultSort organises a file, it creates a markdown note in a vault/ directory. That note logs the original path, the modification timestamps, the AI reasoning behind the categorisation, and a snippet of the file's content.
This turns your filesystem into a searchable, plain-text knowledge base. Need to find that tax report from last year? Search the vault. Trying to remember what was in that random script you downloaded six months ago? The vault has a summary. It is like having photographic memory for your hard drive.
Self-evolving code
This is the part that still feels a bit like cheating. VaultSort can modify its own source code. If the extractor encounters a file format it does not recognise, something like a .svelte or a .yaml file, and the content snippet comes back empty, the AI agent edits the Go source code to add support for that extension, recompiles, and retries. It literally teaches itself new tricks.
It also logs every autonomous change it makes to vault/Evolution_Log_<Date>.md, so you can always see what it taught itself.
The migration story
The project started life as a Python script. It worked, but it was slow, and running it meant firing up the Python interpreter every time. The migration to Go changed everything. The extractor is now a zero-dependency binary that runs in milliseconds. The TUI is responsive. The file watcher is solid.
If you are a Python developer who has been thinking about migrating a tool to Go, the codebase is clean and worth studying. The project structure is straightforward: cmd/ for the CLI entry points, internal/ for the packages, and main.go to tie it all together.
Getting started
The setup is dead simple. Make sure you have Go 1.20+ installed, then:
bash git clone https://github.com/sparshbajaj/Directory-Organizer cd Directory-Organizer go build -o organizer.exe main.go ./organizer.exe tui
That is it. The TUI opens up, and your files start getting organised.
What is next?
I have been thinking about adding more AI providers beyond the Antigravity CLI, making the vault exportable to actual Obsidian, and maybe adding a web dashboard so you can see what is happening without reaching for the terminal.
But honestly, even in its current state, VaultSort has already saved me hours of manual file sorting. If your Downloads folder looks anything like mine did, you might want to give it a try.
The code is on GitHub at sparshbajaj/Directory-Organizer. MIT licensed, contributions welcome, and yes, it runs on Windows, macOS, and Linux.