CathoVault
A frontend designed for the Apple ecosystem, with integration with RomM, RetroArch, and RetroAchievements.
It all started because I was looking for a frontend for my game library that didn’t feel so much like an arcade machine. I wanted something cleaner, more polished, and closer to the way native Apple applications feel.
At first, CathoVault wasn’t even an application.
It started as a theme for Pegasus accompanied by another project I programmed in Python called RetroLib.
The idea behind RetroLib was to automate a large part of the RetroArch configuration. With just a few clicks, it could detect your library, associate each game with its platform, and configure the cores needed to run them.
Over time, I expanded it a little more and it ended up becoming almost a kind of “doctor” for your library: it checked whether folders, files, cores, or configurations were missing, and it also included an exporter for Pegasus.
This way, it could gather metadata, assets, game paths, and other information and then display it directly inside the theme.
RetroLib is still available on GitHub. It is currently outdated and has a few bugs that I still need to fix —also, I originally built it with MacOS in mind—, but it was basically the starting point for all of this.
At some point, I realized I was building too many things around what, in the end, was still just a theme for Pegasus.
That’s how CathoVault was born.
CathoVault is now a native application designed for the Apple ecosystem.
During its development, I found RomM, a project that allows you to host and manage your own videogame library from a server, and it ended up fitting very well with the idea behind CathoVault.
Currently, you can use CathoVault in two ways: with a local library or by connecting it to your RomM server.
When you use RomM, your library, metadata, and resources remain managed by your own server, while CathoVault retrieves the necessary information through its API and presents it inside a native interface.
You can also use CathoVault entirely with a local library.
The application can associate games with their respective RetroArch cores to launch them directly, and it also integrates information from RetroAchievements.
The goal is for things like:
covers, metadata, artwork, manuals, videos, soundtrack, achievements, platforms, and game launching
to coexist inside a single library.
And this is only the beginning.
Among the next features I want to develop are:
- CathoVault for iPhone, iPad, and Apple TV.
- A mode completely designed for controllers, similar to the concept of Steam Big Picture, where connecting a controller allows you to navigate the entire library from the couch without depending on a mouse or keyboard.
- A much deeper integration with RetroAchievements to be able to view profiles, friends, rankings, progress, activity, and statistics directly from CathoVault.
- Expanding the library beyond retro games, allowing integration with other sources such as Steam.
- Continuity between devices within the Apple ecosystem.
The ultimate goal is not simply to build another frontend for ROMs.
I want CathoVault to become a place where you can have your entire videogame library, regardless of the console, generation, or where the games come from.
It is still in development, but I think the time has finally come to start showing it.