Hey everyone!
I’ve recently been sharing the occasional interview I do (again, I suppose Q&A is a more appropriate term for what I’m doing) with devs for Steam Deck, Linux and general gaming projects you might know and use.
I’m doing these so you can get a little bit of a glimpse behind the curtain, so to speak. I feel like we use all these programs and projects, plug-ins and apps without ever really getting to know who is behind them, and these people deserve a chance to tell a little bit of a story as to why they made what they made, or do what they do!
Previously, I’ve shared interviews here on Lemmy with:
Today I’m sharing my Q&A with the team behind The RomM Project, which is an open-source, self-hosted application designed to organize and give you a new way to view and play your retro video game collections. It offers a clean, responsive web interface that allows users to scan their ROM libraries, then grabbing the metadata from sources like IGDB, MobyGames, and Screenscraper, and playing games directly in your browser via built-in EmulatorJS support.
Supporting over 400 gaming platforms (seriously), RomM accommodates various naming conventions, multi-disk games, and custom tags. It even integrates with tools like Playnite and muOS, and upcoming features include device syncing for games, saves, and emulator settings.
If you’ve an interest in programming, gaming, retro gaming, emulation or are just…curious, then this will be for you!
This interview was answered by three out of five members of RomM. The two who could not make it, Arcane and Adam, did say the answers given by those who could, accurately reflect their own views and experiences. So…let’s start!
1. Team History & Background:
I’d love you to introduce yourselves, who is involved in the RomM team?
Zurdi:
The RomM team is officialy composed by 5 great members: Arcaneasada (gantoine), Mr. Moon, Danblu3, Adamantike and me (zurdi)
Moonraka:
I’m from Eastern NC, USA. I do tech support, hype and crowd control for the team!
danblu3:
danblu3: Hi, I’m Dan. Otherwise known as danblu3. I am a recent hire in the team as long with Mr Moon and I am basically tech support, you will see me actively participating in issues and problems that arise trying to get this software installed, especially within the discord.
Give me a little overview of RomM as a project?
Zurdi:
RomM is a self-hosted rom/saves/states manager with the bonus of having emulatorjs (from emulatorjs.org) integrated into the UI to provide a smooth player experience.
We also have some external integrations like a playnite plugin or a muOS client to directly interact (mostly download your roms) from other devices
How did the team come together? How did you all find each other?
Zurdi:
I started the project at the beginning of 2023 and the first member to join me was Arcane, a couple of months after I released it to the general public. He showed so much interest in the project and his vision and knowledge of the open-source world was extremelly valuable for me since this was the first time I was working in something like this.
After that, some months in the future and after creating the discord server, Danblu3 started to help in the community a lot and we decided to offer him to officially be part of the RomM team as he has a very good knowledge of the emulation scene and the technical stack in general becoming a extremelly useful member as kind of technical support.
Some time later Adamantike also started to contribute in the project and after some time with some really good PRs, we decided to offer him another slot as a official member. We needed more develping muscle and he is a very experienced developer with great ideas of how things should be done and designed.
Our most recent addition was Mr. Moon, and like what Danblu3 did, he was helping in the community with passion. As we did with Dan, we offered him to be part of the team since his help alongside the Dan help was so valuable for us since we couldn’t manage developing RomM and also providing the support demands from the users.
Moonraka:
Danblu3 basically kidnapped me from the discord and I woke up a team member. Actually I just found passion in learning docker, Linux and helping others in the support section. It helped my own skills and made friends with the team! (Leaving them to do their job of development)
How did each of you first get into retro gaming or emulation—was there a particular game or system that started it all?
Zurdi:
I can’t even remember when I started emulating. I am 32 years old and for me retrogaming is just play some games guided by nostalgia. I think the first emulation software I tried was a game boy advance emulator in 2005.
danblu3:
I think I was kind of lucky to get into retro gaming, I always have fond memories of my SNES when I was little and from there my love for gaming went from PS1 and onwards, when I was younger I had the gameboys, the GBA etc. So all of those retro consoles have been solidified in my memories and bring back fond memories. Also, there were SO many games around that time I could only afford the one or two, so having access to emulators and so forth let me live what childhood I might have missed.
Moonraka:
Sega was my first home console I remember having as a child. I also got to experience Sega Channel (basically game pass before it’s time). Played emulators and handhelds growing up.
Looking back on that it feels like RomM fills in that childhood nostalgia from that experience of streaming games or downloading them to your system.
Before RomM, had you worked on any other open-source or tech projects together (or individually)?
Zurdi:
I am a software engineer (MLOps specifically) irl, so not in a open-source project but I have an extense carrer inside tech projects.
Moonraka:
No my first time being on a team or project.
danblu3:
I have dabbled in the retro community before with a project called “Core Type R” I believe the project is shut down or on hiatus but that was fun and my first experience being apart of the project over the internet kind of thing.
2. The Birth of RomM:
Was it a pre-existing problem or gap in the retro gaming/emulation world which inspired RomM? You have a rather unique outlook at retro gaming – a self-hosted web application to organize and play old games. I can think of only a couple others which use similar methods. What made you choose this way for RomM?
Zurdi:
I started to developing RomM because after some years self-hosting, the only true alternativewas gameyfin, there was also called catridge (but I think it was an abandonware, not even in a ready-to-use state) and since I only had a raspi 4B, I couldn’t self host it because it only had support for x86 architectures, so after some time without seeing progress from the gameyfin side to support it, I decided to start my own solution. There also was a kind of a frontend for emulatorjs but I am a lover of aesthetics and design, and that frontend was really ugly.
Some time later great projects like gaseous and retrom appeared as an alternative to RomM, with it’s own perspective and way to do things.
Was there a specific moment or conversation when you all said, “Okay, let’s actually build this”?
Zurdi:
As I mentioned before, the team was slowly built over time, so there wasn’t really a “Okay, let’s actually build this”
What were some early prototypes or ideas that didn’t make the cut—but helped shape RomM? I’d love to hear any, if they exist!
Zurdi:
There are a video I made from when RomM was a prototype but the design was so bad - n.b. the link is here to YouTube if you’d like to see it so after a couple of releases I decided to redesign the whole interface. You can clearly see RomM in that early stage.
How did you land on the name “RomM”? Was it always the plan?
Zurdi:
Yes! When i first thought about a name, that was the one I first could think about and it didn’t change since
Were you inspired by any other apps or platforms? /are you close to any other other projects’ teams? There’s a lot of unique takes on the concept in this space: Pegasus, ES, LaunchBox, and so on. I can’t imagine there’s any rivalry, have you any kind of ‘working relationships’ together?
Zurdi:
Of course. The main inspiration was catridge+gameyfin. About relationships, we are really close to the Retrodeck team (actually that’s the first platform we have plans to integrate with as a PC handheld frontend) and also we are friends of emulatorjs devs, gaseous/hasheous devs and retrom devs. We all provide our own perspective to things, but we all support each other when needed. I think that to build great software we need to swim in the same direction and help each other.
Looking back now you’ve all come so far, with such an established user-base with so much feedback, is there anything you’d do differently in those early stages of development?
Zurdi:
Once thing I would change is to design better how we manage saves/states and how we integrate some things into the system, now that I know a lot more of the emulation scene, I think I designed some things poorly.
3. Development & Tech Choices:
What tech stack does RomM use, and why did you choose it?
Zurdi:
RomM is built with python+fastapi in the backend and vuejs+vuetify in the frontend. It is distributed through a docker image. I decided to use that stack because I already knew python pretty well since it’s one of the main languages I use at work, and I chosen vuejs as frontend framework because a lot of years ago, I needed to use it to build a little tool at one of my past jobs but I felt I wanted to go deeper with it (back then it was Vuejs 2, now we use Vuejs 3) and this was the perfect opportunity for it.
What’s been the hardest technical challenge so far - something that kept you up at night?
Zurdi:
We want to develop a device-sync system where you just use RomM as a centralized cloud save/state system and you don’t need to manage them manually (right now only if you use the integrated emulatorjs is automatically managed, otherwise you need to download/upload manually from/to RomM any state or save you get from your handheld/pc devices). That’s going to take a lot of time to design properly.
How do you balance making it user-friendly for beginners while still powerful for advanced users?
Zurdi:
We try to really think on the UX, but sometimes it’s hard to keep things simpler when some technologies like docker are involved. Sometimes you just need to have a little bit of technical knowledge base. In any case I think RomM now is way more user-friendly than before.
How do you balance making it user-friendly for beginners while still powerful for advanced users?
danblu3:
They have me test it. Haha. But no seriously, when something is developed it will go through a couple of alpha and betas, and even internal testing only. I am usually pretty good at A-B flows, as in, I am a pretty good user of the product and if something doesn’t feel right or doesn’t flow correctly, I will let the team know, explain how it should be and usually it’s accepted.
What’s a ‘hidden’, or perhaps less acknowledged feature or design decision you’re especially proud of?
Zurdi:
I am really proud the UI design itself, I know some users choose us before other alternative just for the visuals (since the alternatives are great tools too), but also how the backend is build in terms of authentication/multi-user management.
danblu3:
You can actually play flash games in the browser, using the RufflesRS player :) Oh. And the team will tell me off for not saying this. WE SUPPORT RETRO HANDHELDS!
We recently with the help of Jeod from Portmaster have made our app compatible with anything that can run Portmaster basically, this is a really quick and efficient way to get the games on your handheld WITHOUT pulling out your SD card. Seriously. Get on it, it’s so cool.
How has open-source feedback shaped the direction or architecture of RomM?
Zurdi: Every user has their own unique perspective and way of emulating and managing their ROMs and systems. Learning how people actually use their setups and how they wish they could provides valuable insight and inspiration. This kind of feedback helps us see beyond our own habits and assumptions, which can be very limiting. Without it, we risk building something too narrowly focused on our personal workflows, instead of something truly useful and flexible for a wider community.
danblu3:
Having an open Discord I would say has definitely shipped some features into RomM. Before we had any DLC or Patch support (letting you store update files and so forth against the main rom) there were many heated discussions between the community of what RomM should be. This passion drove us to working on the DLC support (even though it was already on the back burner, but seeing the users practically cry out for it, we bumped it up a couple of notches)
If someone wanted to contribute to RomM, where should they start?
Zurdi:
danblu3:
We are open source, so pulls, forks, write ideas within the discord. The team is extremely friendly and will talk through the ideas and help you with the pulls if needed.
4. Community & Culture:
What’s the RomM community like? How would you describe the people who use or support your app?
Zurdi:
The RomM community is made up of passionate retro gaming fans, tinkerers, and self-hosting enthusiasts. One of the most remarkable things is how much they help each other where it’s troubleshooting, sharing tips or offering feedback, there’s a strong spirit of collaboration. It’s a small but growing group of people who genuinely care about preserving and organizing their game collections.
danblu3:
Awesome.
We have a fostering community of homelabbers which is growing every day, where they all share their little tidbits of the next best thing. We have some extremely smart community members roll through the door and make some wicked plugins that we take inspiration from, just, honestly, the community is lovely.
Moonraka:
I think our community is incredibly welcoming.
We have international users from all over. It makes it a fun and vibrant place from all hours of the day! Generally just excited people to get the project running!
Have there been any unexpected use cases or creative customizations that users have shared with you? Perhaps someone has suggested something and you all think “okay that’s it, we’re doing that”…?
Zurdi:
Some users have their libraries spreaded across different locations, so they use the docker mounts as I didn’t think of at the beginning for example, in a pretty smart way. Also, how they use some of the features to store hacks, emulator binaries, or other kind of files that RomM is still not meant for.
danblu3:
It’s more… a user has said about a feature that just kind of ticks in our head and we all go “Yea, that makes sense. And will make RomM extremely cool” and begin working on it. Some recent examples would be adding a simple letter toolbar as you scroll, so you can skip to the correct letter.
How do you handle feedback or criticism—especially from passionate retro gamers?
Zurdi: I think the whole team handle feedback pretty well. Of course, as any human, we can have a bad day where we are not as sympathetic as usual (the less days of course), specially with those users that demands things instead of request things
danblu3:
I would say me and Mr Moon are the filter before the passionate words make it back to the devs, but we have had some arguments within Discord with some passionate users, those have mostly died down now though.
We handle it well, there is some language barrier issues we have definitely faced with some users using some translation devices and things might get crossed, but we’ve never outright banned or told someone no.
Moonraka:
I think our community helps police itself. There can be translation issues at times, which can come off as passionate/emotional. Demands can be annoying as this is a passion project and the devs have their personal lives. We’ve stopped giving eta/windows for when features drop, this has helped.
Are there any moments where you thought, “This is why we built this”?
Zurdi: Yes, some users talked to me to say that they had great times with they family and friends, that they got a closer relationship with them thanks to RomM or that they were just waiting for something like this for years and they finally have a solution that theyreally like. Those moments are what keep me putting effort into this for as long as I can.
danblu3:
Pretty much every day when sorting someones issue, when they say it’s all working, art being filled in, metadata being grabbed. It’s like the person I helped is experiencing the joys of Christmas again or something, it’s a nice feeling.
Have you made any real friendships or meaningful connections through RomM?
Zurdi: Of course. Specially the RomM team, which I can call now friends, but also some of the community members are great people that make RomM a better product and a better community in their own way. I don’t want to name anybody to not forget someone, but they know who I refer to.
danblu3:
Hell Yes. Mr Moon, Zurdi, Arcane, Adam, the home labbers (Duncerman…). I have so many friendships made from this one discord server, I feel lucky I joined this discord to be honest.
Moonraka:
Danblu3 (probably wouldn’t be here without ya) Ryu (Kitty-Dragon), Doakyz, Deek, and others.
The RomM team - Arcan, Zurdi, Adam and Dan made me feel welcomed and I was offering something to the team!
What are your hopes for how the community grows or evolves in the future?
Zurdi:
I want the community to become a go-to hub for anyone interested in ROM management and emulation, especially within the self-hosting scene, but also beyond. A place where people can share knowledge, discover tools, and help each other.
danblu3:
I just want us to grow, I want us to be known. I want people to say “rom” and they go, you mean the program or the game cartridge rom? I know that is kinda ridiculous to say but I truly have faith in these devs to make this the central location for all retro needs (as long as you self host it, that is!)
Moonraka:*
Just continue to gain passionate members. We recently added tags for experts, NAS, Hypervisor, and etc.
This has helped people feel they can contribute in little ways. It helps us tag and ask users of a certain group what tweaks were needed in support threads.
Does your team feel ‘burn out’? Most devs for gaming projects I talk to end up walking a ‘fine line’ for gaming – they work on the project so often that their own time gaming gets less and less. Do you ever feel this?
Zurdi:
Yes, everyone in the team felt burn out at least once. Since we are passionate software developers, we spend free time on this after spending our lives developing sotfware for our irl jobs. Also supporting users when they have issues is very time demanding (thanks Dan and Moon), so whenever any team member needs to dissapear for any amount of time, they don’t even need to tell anyone. Just get some rest for the amount of time you need.
danblu3:
I am personally not a dev but I know that our team can suffer a little from it. But I will let them explain more about it. In relation to the support side, yea, it can feel a little overwhelming but the payoff is worth it.
Moonraka:
All I do is continue to contribute to support so I can free devs up to do their work.
5. Game Preservation & Legal Grey Areas:
Where do you personally draw the line between preservation and piracy?
Zurdi:
For me, perservation is when we (personally or a community/website) offers a way to acquire games that are impossible to get otherwise. Piracy is anything that involves to get any game that can be currently bought in any format or store.
danblu3:
Sheesh. Talk about a hard question to answer. Thanks PerfectDark.
The line is extremely thin for me if I was being honest, for example I find modding physical and soft modding consoles fascinating and how they can give our old devices some much needed love. But yes, they also open the doors to piracy.
I think preservation is key, you should be allowed to make a backup of your legally owned games and you should be able to play them on your console in any way you see fit (SD Card, Flash cart, ODE) If you buy the hardware, you own it. I agree that the big companies should ban online interaction, but, for local and just keeping your collection which could easily corrode into a digital format… that should be left alone and up to the user.
How do you think the industry could better support legal preservation and access to older games?
Zurdi: I am not really sure about this. Maybe some big companies should give their bless to preserve already dead games (games that are impossible to get as I said before)
danblu3:
I don’t think they can? Just being honest. I think they should back away and let the community handle the work, there are already some really impressive community projects archiving older cartridges and CDs etc.
Have you ever had to deal with legal pushback or warnings, even indirectly?
Zurdi:
Not at all.
danblu3:
No I have not.
Do you see RomM as playing a part in keeping gaming history alive—or is that a side effect?
Zurdi:
I think that if that happens will be a side effect of how users decide to use their RomM instance. Also, having different options to self-host your library will make that more users will preserve their libraries and we will have a better archive of gaming history.
danblu3:
100%. The fact we let you play retro games you own in your browser, as technology gets even more powerful and more plugins and full feature software is developed into RomM. Imagine just handing your phone to your child to play LoZ: A Link to the Past, playing it perfectly in browser, then they pass it to their kid and their kid etc. With a RomM library your preservation will always be there, your memories, your saves, etc.
What do you think people misunderstand most about ROMs, emulation, and legality?
Zurdi:
One of the biggest misunderstandings is that emulation itself is illegal. it’s not. Emulators are just tools, and they’re perfectly legal in most countries. The legal gray area usually comes from the ROMs themselves.
Danblu3:
[That] it’s not easy. And it’s an EXTREMELY thankless task, there is so many smart people out there spending their OWN time in making these emulators, these rom images, these compression tools and algorithms, so stop for a minute and say thank you to the devs. They do not hear it enough, seriously.
If copyright wasn’t a barrier, what would your dream feature or archive look like?
Zurdi:
The ultimate dream would be a RomM feature where you don’t only access your library but any library in the world, becoming a distributed, giant library across the whole globe.
6. Vision & The Future of RomM:
What’s one big feature or change you’re excited to explore in the near future? Can you give us any sneak peeks at what you might be working on? Or hoping to?
Zurdi:
I think a lot of users already know, but our ultimate goal is to offer a smooth experience of cloud save sync, where you can forget about where you are playing. You just play in any device, connected to RomM, and everything is managed automatically.
danblu3:
At the minute when you match information we do it based on the name, we do strip tags and make the name as close as possible but mismatches occur. Hash matching will abolish this and more, we will read the content of the file and match it to a known hash record, if it matches. That is the game, metadata pulled, scraped. Done.
How do you see RomM fitting into the broader self-hosting movement?
Zurdi:
RomM fits naturally into the self-hosting movement because it gives users full control over their game collections. Just like with media servers or file hosting platforms, people want privacy, ownership, and flexibility. RomM shares that philosophy: no tracking, no vendor lock-in, and full freedom to adapt the tool to your setup. It’s about empowering users to build their own ecosystem, exactly how they want it.
danblu3:
I see us being included in those “Top five apps you must install” articles and so forth, just under the *arr stacks.
Moonraka:
I see it was one of those essential apps in everyone’s arsenal. Who doesn’t love games ;)
Do you ever see RomM being integrated into other platforms or services?
Zurdi:
Yes! we are triying to integrate into as many devices and platforms as possible, but that takes a lot of time to do.
danblu3:
I want us to. My dream would be to see us added to popular front ends like ES-DE and so forth. Imagine browsing through the front-end, choosing your game, that sends a signal to RomM to either download or even stream that game, to let you play it. Then when your done, the save is uploaded and the rom is removed from the local system. Meaning all you need will be the frontend software.
What motivates you to keep working on it, especially as a non-commercial passion project?
Zurdi:
What I said before. When I read some comments of people that I don’t know, telling me how their lives are a little bit better thanks to RomM, is more than enough. Also as a passionate developer I can explore technologies that I can’t in my irl job.
danblu3:
On the support side, what motivates me is the fact that the devs are incredibly smart. If I can remove as much noise from them as possible so they can focus on the work, then I will keep doing it until the end of time.
Moonraka:
I just enjoy the community and work!
How would you love people to describe RomM five years from now?
Zurdi:
The “ultimate, self-hosting rom management platform”
danblu3:
Passionately. Saying how it needs to be the number one or two app they install within their homelab.
What is everyone’s favorite games? Retro and modern?
Zurdi:
Hard to choose!
For modern I would go for cyberpunk, god of war 2018 and ragnarok and maybe outer wilds.
For retro I would go for The legend of Zelda Oracle of Seasons, Pokemon red and Super Mario bros Deluxe for gameboy color.
danblu3:
My retro pick would be LoZ: A Link to the Past, any system I get working which has an emulation kind of system this would be my testing game, and I usually get quite far before I remember I am configuring it…
Modern: My current addiction is Clair Obscur Expedition 33, it’s crazy good. The combat, the story, seriously. If you like Persona like games or just turn based RPGs, get on this. It’s crazy how good this game is. My GOTY by far.
Moonraka:
Retro - Front Mission, Final Fantasy, Sonic
Modern - Xcom, Titanfall, Yakuza series
What’s one game you think everyone should try at least once, and why?
Zurdi:
I think outer worlds [n.b. my own note here, maybe ‘Outer Wilds’ is meant here?!] is an experience that crosses that line between a game and a vital experience. At least for me that I have a really big passion for the cosmos and everything that involves the vast universe, and also the mysticism and the ancient cultures, outer worlds is an experience that leaves an empty place in your soul when you finish it.
danblu3:
Legend of Zelda, Ocarina of Time. It’s probably the best LoZ and it seems to be a passion project for most people to get it running as good as it can possibly look on any device.
Moonraka:
Yakuza series. Just insanely funny, random and passionate. Glad a guy at the used game store turned me onto it back on PS2.
Finally…any last words for people reading?
Zurdi:
Thank you to everyone supporting us, to those who help others in the community with their setups, and to everyone who enjoys using RomM. And a special thank you to our amazing team, without them, RomM wouldn’t be what it is today.
danblu3:
Thank you all, from the bottom of my heart. RomM is so powerful not just due to the devs but due to the community as well. I truly love this community and I hope we continue to grow and foster in the future. I would do specific shout outs but I only have a small bit to type in, so people who know who you are, keep being you! :)
Moonraka:
Thanks for the opportunity to answer!
And that’s that!!!
Thanks for anyone who read through, I hope you enjoyed the latest of these!
Some links to follow, if you’d link to see more of RomM:
As ever, I’m just writing these up, alongside my various gaming News Posts as my way of leaving something unique in the Lemmy community. I have more of these to come (my good friend AA who is a developer with Decky Loader is going to do this next, but I haven’t been non-lazy, and haven’t even written questions to him yet -_-), and…well, I hope you enjoy it!
-PerfectDark :)
BobDendry@masto.fediverse.games 3 days ago
@PerfectDark I only recently cames across with project and it looks amazing - like a Jellyfin for games. I only wish there was plugin support for Retroarch/Lutris or something similar rather than needing to rely on EmulatorJS.
I love the work you've done sitting down with the team and it's definitely convinced me to put this one down as the next of my ever growing number of services going onto my homelab cluster.
As an aside, I also wanted to thank you for your writing in general. I used to do a lot of writing (heck, I did three quarters of a journalism degree a lifetime ago), and the effort and quality you put into this stuff has definitely started that itch in me again...
zurdi@lemmy.world 2 days ago
BobDendry@masto.fediverse.games 2 days ago
@zurdi good to know!
PerfectDark@lemmy.world 2 days ago
Oh nice to see you are here on Lemmy, Zurdi! :)
PerfectDark@lemmy.world 3 days ago
Please do!!!
I’d love to read more from ‘our’ circle of people. I find there’s…not enough, which is (in part, anyway) why I like to try my best at sharing this kind of thing. Especially in an atmosphere where short videos are consumed like crazy, where A.I. can slap together (poorly) someone’s writing, and where the big sites are just click-bait or begging for subscriptions and support.
IDK, I’d love to read whatever you’d be writing!
And thank you so much for writing this, I’m gonna link the RomM team to a new convert :P