# kettle11/tangle

Radically simple multiplayer / networked WebAssembly

Repository: https://github.com/kettle11/tangle
Canonical: https://ross.abutalabs.com/products/kettle11-tangle
Language: TypeScript
License: MIT
License Family: permissive
Topics: multiplayer, networking, webassembly
Last push: 2024-07-14T19:42:57+00:00

## Health v2 (maintenance only)
Score: 31/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 0, release rhythm 35, longevity 95
- inputs: {"age_days": 1337, "days_push": 780, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1209, forks 43 (observed 2026-08-28T04:03:59.860600+00:00)

## What it is
Tangle is a TypeScript library that wraps WebAssembly modules to make building multiplayer apps and games easy, handling message passing, serialization, and consensus automatically. It uses peer-to-peer WebRTC connections with snapshot-based rollback and replay to keep all connected Wasm instances perfectly in sync.

## Use cases
- add multiplayer to a small web game
- sync a WebAssembly app between multiple clients
- build backend-less collaborative software
- run networked simulations with rollback and replay
- share program state peer-to-peer without writing networking code
- prototype multiplayer games in Rust or AssemblyScript

## When to choose
- you want to add multiplayer to a small WebAssembly game or app with minimal networking code
- you're targeting Rust or AssemblyScript compiled to Wasm in the browser
- you want peer-to-peer sync without managing your own game servers
- you need deterministic state sync with rollback/replay support

## When to avoid
- you need a stable, production-ready networking solution
- you need to merge long stretches of offline edits (it is not a CRDT)
- your simulation has high CPU/memory usage, which increases input latency
- you need native (non-web) platform support
- you can't rely on a third-party signaling server for initial connections

## Facets
- artifact type: library
- maturity: experimental
- function: networking, serialization, websocket, wasm, concurrency
- domain: web-development, microservices
- platform: browser, wasm
- tags: multiplayer, webrtc, p2p, rollback-netcode, state-sync, collaborative-apps, game-development, real-time, web-server, typescript

## Member repositories
- kettle11/tangle (main) score 31

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:03:59.860600+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T06:18:35.421100+00:00, confidence not recorded.
  - readme: https://github.com/kettle11/tangle (fetched 2026-08-28T04:03:59.860600+00:00, sha e38c42ec08a0)
- Data as of 2026-08-30T08:39:29.467469+00:00.
