npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@multisynq/client

v1.1.0

Published

Real-time multiplayer framework for web applications

Readme

Multisynq Client

Multisynq lets you build real-time multiuser apps without writing server-side code. Unlike traditional client/server architectures, the multiplayer code is executed on each client in a synchronized virtual machine, rather than on a server. Multisynq is available as a JavaScript library that synchronizes apps using Multisynq's global DePIN network.

  • can be hosted as a static website
  • no server-side code needed
  • no networking code needed
  • independent of UI framework

Getting Started

Get a free API key from multisynq.io.

npm i @multisynq/client

You can also use the Multisynq pre-bundled files, e.g. via a script tag

<script src="https://cdn.jsdelivr.net/npm/@multisynq/[email protected]/bundled/multisynq-client.min.js"></script>

or via direct import as a module

import * as Multisynq from "https://cdn.jsdelivr.net/npm/@multisynq/[email protected]/bundled/multisynq-client.esm.js";

Structure your app into a synchronized part (subclassed from Multisynq.Model) and a local part interacting with it (subclassed from Multisynq.View). Uses Multisynq.Session.join() with your API key to join a session.

That's it. No deployment of anything except your HTML+JS.

Follow the documentation at multisynq.io/docs and the example apps in the Multisynq GitHub repos.

The Prime Directive

Your Multisynq Model must be completely self-contained.

The model must only interact with the outside world via subscriptions to user input events that are published by a view. Everything else needs to be 100% deterministic. The model must not read any state from global variables, and the view must not modify model state directly (although it is allowed to read from it).

Besides being deterministic, the model must be serializable – it needs to store state in an object-oriented style. That means in particular that the model cannot store functions, which JavaScript does not allow to be introspected for serialization. That also means you cannot use async code in the model. On the view side outside the model you're free to use any style of programming you want.

Servers and networking

Multisynq runs on the Multisynq DePIN network which automatically selects a server close to the first connecting user in a session.

All application code and data is only processed on the clients. All network communication and external data storage is end-to-end encrypted by the random session password – since the server does not process application data there is no need for it to be decrypted on the server. This makes Multisynq one of the most private real-time multiplayer solutions available.

Open source

The Multisynq Client is licensed under Apache 2.0.

Change Log

[1.0] - 2025-04-23

Public release