I've wanted for a while a good way to navigate a list of all my games, emulators, and ideally videos, music and pictures as well. There are many many pieces of software that attempt this same goal, but I don't like using any of them for many reasons. The first thing that comes to mind when I mention emulators will for a lot of people be RetroArch, and this is not without good reason, RetroArch works great if what you need is purely emulation. When you start getting into other games though, it simply doesn't have enough support (You can't launch steam games or even standalone executables). GOG Galaxy is actually probably the closest I've seen any software come to doing what I want, namely it has plenty of community integrations for all sorts of platforms and will show all the games in a nice place, but it does still have two issues: First, it doesn't support using a controller to navigate the menu, not the biggest deal but for playing games on the couch it isn't ideal. The second issue is a deal-breaker though, it doesn't support Linux. The final thing that I thought of is Kodi, which definitely looked the most promising, and truthfully I haven't tried it in a long while, but when I did try it (I think about 3 or 4 years ago), it's interface was very bad (and restrictive, pretty much just a recursive series of lists), and it didn't have good support for many external services (like Jellyfin).
So it seemed to me like the perfect opportunity to make something that was exactly what I wanted, and since I'm making it I can implement all the features that I want that no existing project does yet. So I guess it's time to get started.
Design
The first thing to do was to come up with a concept for what the interface is going to look like. First off I probably want a tag system, where each entry has a list of tags, each of which is a key-value pair. Then I need a way to search by filtering tags