Romm is a self-hosted game library manager and ROM management web interface. It serves as a central server for storing and categorizing game files and emulator firmware, providing a web-based browser to organize collections through automated library scanning and metadata retrieval.
The project distinguishes itself by integrating a web-based emulator frontend that uses WebAssembly to play games directly in the browser. It further provides a game save synchronization server that uses SSH-based synchronization to transfer save states and progress between the server and registered handheld devices.
The system covers broad capability areas including metadata aggregation from external databases, multiplayer game hosting via WebSockets, and homebrew console integration through network feeds and QR codes. It also includes identity management via OpenID Connect, role-based access control, and a console-optimized user interface designed for gamepad navigation.
The application supports containerized deployment using Docker and Kubernetes.