Jam Tools

A streamlined framework to create real-time multiplayer applications, with first-class support for MIDI and IO devices.

Get Started

Write once, run everywhere

Run the application in a browser, mobile app, desktop app, and on a server, with zero-config managed GitHub Actions workflows to compile and deploy/update each platform.

Built for Multiplayer

Real-time state synchronization is available out-of-the-box between clients in the same session. Focus on your feature-level code, rather than the complexity of managing state.

Built for Local-only/Local-first

Applications can run entirely offline in the client, and pivot when it needs to interact with a remote server, or optionally rely entirely on the server for business logic.

An isomorphic and flexible RPC layer allows actions to be run in the right context, determined by feature-level userland code, to fit the use case of the user's current action.