I want to make a file manager that allows users to filter content based on tags, dates, etc. For example to search every movie for a specific actor between two dates sorted by score.

I was thinking of making it so that everyone was using the same distributed database, so tagging new content would be as easy as getting the hash for the new files and then if other user had already tagged it you wouldn’t need to. But I couldn’t figure out a way to make it distributed without some users messing up the database, so then I thought of doing the same but with a server, to make sure users couldn’t vote many times.

The server would have the same filtering options as the clients and also reviews and scores like a mix of imdb, metacritic, goodreads, musicbrainz, etc… And it would have an API so that the clients which would be file managers could upload and download metadata to update the database without having to visit the website. The clients would be something like calibre, beets, etc… Tags and reviews could be voted to improve their visibility like in lemmy and to select the proper metadata because some users may make mistakes while curating their data. There would be content suggestion based on user scores.

These are the open source projects that I’ve found which are similar in some aspects to what I want to make.

  • TagSpaces is an offline, open source, document manager with tagging support.
  • Calibre: e-book manager.
  • beets: music library manager and MusicBrainz tagger.
  • Hydrus: a personal booru-style media tagger that can import files and tags from your hard drive and popular websites. Content can be shared with other users via user-run servers.
  • Video Hub App: browse, search, and organize your videos.
  • mediaChips: manage your videos, add any metadata to them and play them.
  • Stash: an organizer for your porn.
  • Record is an immutable distributed system for audio files.
  • lib.reviews: a free/libre code and information platform for reviews of anything.

What other open source projects can you think of?