Think of it as Plex or Jellyfin for your ROM library: it automatically fetches metadata, artwork, and game information from online metadata sources to transform your folders into a browsable collection.
You can play games directly in the browser for consoles like the N64, Game Boy Advance, Nintendo DS, and PlayStation 1, using the integrated web emulator (https://emulatorjs.org/). Members of the community have released integrations for Playnite (Windows), muOS (Anbernic handhelds) and Decky Loader (Steam Deck), with many more in the works.
The team has been working on RomM for just over two years now, and we're incredibly proud of what we've built so far. There's no company behind the project, just a bunch of friends building something together that we've wanted for a long time. And of course, the code is open-source and AGPLv3 licensed.
Check out the (kinda slow) demo running on an ultra-cheap VPS: https://demo.romm.app/
So for example an article on "2D platforming" that discusses the implementation in Super Mario, and includes a "demo" button which launches a web emulator with a save state that demonstrates a specific jumping section of the game.
Legally perilous maybe, although my non-lawyer brain sees that as fair use, especially if the emulator doesn't let you play the full game. Idk, but it'd be a unique thing on the internet.
Edit: this is awesome btw, im definitely setting up a personal instance soon
IANAL, but I think what a lot of people don't understand is that "fair-use" is a defense. Which basically means you have to be prepared to argue in in court. A lot of potential fair-use is quashed before it gets to that point.
It's also a balancing test, which means that it's very fact/context dependent, and subjective, which results in for a lot of cases, you really won't know until you actually get to court.
"Playable Quotes for Game Boy Games" - https://www.youtube.com/watch?v=z9JYOZWLMlo
As somebody who's setup a lot of little retroboxes, the idea of doing it once and having my collection served off of my homelab to all my other devices is incredibly appealing. Web-based emulation has come a very long way. Still I prefer to play off of my individual devices many of which don't have good browser support.
Setting those systems up can take hours each, but being able to point something like a Batocera instance or an ES-DE setup at a server and have it self populate with roms, bios files, screenshots, etc, would be a dream. It sounds like this might be the future of the emulation ecosystem and it sounds amazing!
https://github.com/rommapp/romm/pull/1515
It seems like OP already replied with an upcoming feature to entirely eliminate your concern, but I would also point out that this doesn't mean the cloud service knows what games you're playing, they just know what games you have which for many gamers are two very different things.
That's especially true for those with a large enough ROM collection to be interested in tools to manage and simplify access to their libraries. I'd be willing to bet that the majority of potential users have collections that are exponentially larger than the list of games they actually play, in many cases some variety of a "complete" collection.
It looks much less impressive without cover art though.
Romm works really great for this too.
I’ve used RomCenter and other tools in the past and I’d love to see similar, comprehensive functionality in something more modern.
It looks like they do support integrating with a tool called Igir to handle validating and naming ROMs using DAT files.
https://docs.romm.app/latest/Tools/Igir-Collection-Manager/
https://docs.romm.app/latest/Tools/Igir-Collection-Manager/ | https://igir.io/usage/desktop/romm/#
Playing through a browser seems like a downside for me personally
I usually play on Windows with Playnite (https://playnite.link/), and the plugin (https://github.com/rommapp/playnite-plugin) allows Playnite to pull and display the list of games for each system, after which I can install the ones I want to play onto my PC.
If you have time:
Does it (or can it) run emulators natively? I'm trying to get my head around js emulator, how is that libretro? Is libretro compiled to wasm?
Is it running retro arch underneath or have you managed to implement the libretro API?
I love and hate retroarch. Its menus are ridiculous but it's still easier than managing multiple emulators.
I believe it's running RetroArch, as when you load a corrupt file or start without selecting a game it displays the RA menu. If you want to dig deeper you can check out their github or ask in their Discord, the team have been wonderful to work with.