gameflow-deck/README.md

2 KiB

Gameflow Deck

A Cross-Platform Retro gaming frontend designed for handheld and controllers. Focused on building a simple user experience and intuitive UI.

Warning

This app is actively in development, it doesn't have most of its critical features implemented yet.

Features

  • Cross Platform: Can run on multiple platforms. Built with web technologies and bun backend.
  • Romm Support: Has integration with romm.
  • Lightweight: It uses the existing system browser to launch the front end, so no need to include a whole web browser.
    • On Windows it first uses webview2 then your browser
    • On linux it uses WebKitGTK or a browser even from flatpak
    • Not tested on Mac yet
  • Steam Deck Support: Extensively tested with the steam deck. It can use flatpak installed browsers.
  • Great for Controllers: The UI is inspired by the switch and works great with joysticks and dpads.

Screenshots

Development

  1. Install dependencies:

    bun install
    
  2. Run in development mode:

    # Use 'bun run dev:hmr' for hot reload
    bun run dev
    
  3. Build for production:

    bun run package:auto-prod
    

    Builds will go in /builds/<platform>.

Tech Stack

  • Bun for the backend
  • React for the frontend
  • tailwindcss for styling
  • daisyUI for base theme
  • Vite for building the frontend
  • Tanstack router and query for navigation and data
  • elysia for the APIs
  • webview for launching existing system webviews instead of full browser if possible.