FoxStudio
WorksLabStudioTeamJournalContact
FR·EN·IT

FoxStudio

Subsidiary of FoxCase.

Navigate

  • Works
  • Lab
  • Studio
  • Team
  • Journal

Contact

  • hello@foxstudio.fr
  • Cannes, FR
  • Ombrys

Legal

  • Mentions
  • Privacy
  • Footprint

Cannes, FR · GMT+1MEASURING…v0.1.0
Decorative patternConcentric
012 ▸ 2025Electron 39 · React 19 · TypeScript · WebRTC · Socket.io◯ work in progress

Shark

Cloud gaming desktop: stream your PC games from a remote server with sub-30 ms latency.

01▸Context2025 · work in progress
Year
2025
Status
work in progress
Stack
Electron 39 · React 19 · TypeScript · WebRTC · Socket.io

Mainstream cloud gaming (GeForce Now, Stadia before it) runs in a browser, optimised for the masses: perceived input lag, variable quality, heavy dependency on the browser. A serious player can't settle for that — they need a native client that talks directly to their OS and input hardware.

Shark tackles the problem from the "deliberate fat client" angle. An Electron + React shell opens a WebRTC session to a game server, captures mouse/keyboard/gamepad raw, and renders the image at 60 fps 4K with sub-30 ms end to end. Library, session history, user profiles, region selection — everything is integrated, not scattered between a launcher and a browser tab.

02▸Approach
studio.foxcase.fr/works/shark
System architecture diagramoffer · ICEdata channelvideo · audiomin latencyCLIENTElectron · UISERVICERaw input captureEDGESocket.io · signallingEDGEWebRTC · mediaSERVERGame server · GPUEDGEEU · NA · Asia

Electron main process isolating the system layer (input capture, IPC, security) from the React renderer running the UI. Streaming via simple-peer (WebRTC) with Socket.io signalling for session setup. Multi-region selection (EU/NA/Asia) with live latency measurement on the dashboard, to push the closest server.

Keyboard shortcuts (Ctrl+D dashboard, Ctrl+L library, Ctrl+H history) are tailored for people who want to drive without a mouse. The library lets you sort, search, favourite — something no single launcher does well today. Post-stream session analytics surface quality regressions (framerate drops, packet loss) so you can tell whether the server or your local connection blinked.

03▸Results
01

< 30 ms

02

4K · 60

03

3

Decorative patternLines

Next ▸ 011

Klown Vitrine