Supertag.ai: ML Filesystem

Technologies used: Rust, Sqlite, FUSE, ML

Supertag is a new filesystem for Linux and MacOS, written in Rust, that provides an innovative way of organizing and navigating files with tags. Instead of putting your files into folders, you tag your files, and the folder structure is dynamically generated from the tags.

This means that /movies/drama and /drama/movies both contain the exact same contents: movie files tagged with both movies and drama. However, the /movies folder would contain all movie tags, while the /drama folder would contain all files (movies or otherwise) tagged with drama.

See the documentation or view the project on github

The Supertag software itself was a commandline program that both mounted/unmounted filesystems (called “manifolders”) and allowed tagging of files. Once a manifolder was mounted and files tagged into it, it could be browsed just like normal directory, using regular programs like ls, or GUIs like a normal file explorer.

In order to pull off what I wanted, I needed to first write my own Rust bindings to the C fuse library, before writing the actual Supertag implementation on top of my bindings. I don’t hesitate to build foundational tools if they’re required to achieve a goal.

Previous
Previous

Normal Distribution

Next
Next

My Protege