A vibesmaxxed emulation frontend built with Electron, React, and TypeScript.
- Libretro core support — Runs cores natively via a C++ addon
- WebGL rendering with CRT shaders — Scanlines, curvature, bloom, and other retro effects via multi-pass WebGL2 shaders
- Library management — Automatic ROM scanning, metadata lookup, and cover art sync
- Save states — Multiple slots with autosave on close
- Multi-disc swap — Swap discs mid-game for multi-disc PSX titles
- Cheat support — RetroArch
.chtfiles and DuckStation chtdb database
| System | Cores |
|---|---|
| Arcade | MAME |
| Game Boy | Gambatte, mGBA |
| Game Boy Advance | mGBA, VBA Next |
| Game Boy Color | Gambatte, mGBA |
| Genesis / Mega Drive | Genesis Plus GX, PicoDrive |
| N64 | Mupen64Plus Next, ParaLLEl N64 |
| Nintendo DS | DeSmuME |
| NES | fceumm, Nestopia, Mesen |
| PSP | PPSSPP |
| PlayStation | PCSX ReARMed, Beetle PSX HW, SwanStation |
| Sega Saturn | Beetle Saturn, Yabause |
| SNES | Snes9x, bsnes |
More systems are on the way — the goal is to support any libretro-compatible core.
- Node.js 18+
- pnpm 9+
- macOS: Xcode Command Line Tools (for the native addon)
- Windows: Visual Studio Build Tools with the C++ workload
git clone https://github.com/ryanmagoon/gamelord.git
cd gamelord
pnpm install
# Build the native addon (required for emulation)
cd apps/desktop/native && npx node-gyp rebuild && cd ../../..
# Start development
pnpm devpnpm test # Run tests
pnpm lint # Lint
pnpm typecheck # Type check
pnpm storybook # Component browserSee CONTRIBUTING.md for setup instructions and development workflow. For a deep dive into how the app is structured, check out ARCHITECTURE.md.

