The Best Sauce Money Can Buy!
Find a file
2026-07-12 18:06:29 -07:00
bolton slippy 2026-07-12 17:26:33 -07:00
examples slippy 2026-07-12 17:26:33 -07:00
schema slippy 2026-07-12 17:26:33 -07:00
widget green means go 2026-07-12 18:06:29 -07:00
index.html noodle gets a face 2026-07-12 18:02:50 -07:00
README.md noodle gets a face 2026-07-12 18:02:50 -07:00
slippy.json slippy 2026-07-12 17:26:33 -07:00
SPEC.md slippy 2026-07-12 17:26:33 -07:00

slippynet 🍝

The World's Leading Decentralized Noodle-Presence Solution™️. Slips right between your fingers!

a tiny presence layer for constellations of small collaborative sites (jams, wikis, weird little places) so that from any one of them you can see the lights on in all the others.

this repo is automatically redeployed to slippynet.cc ~5 minutes after a change.

built by pastagang for anyone who wants it.

RIP nudel.cc, which taught us to let code die.

how it works

  1. every site serves one static-or-generated file at /slippy.json: its name, its rooms (join link + how many people are inside), and the peers it knows about.
  2. a widget on any page crawls outward from a seed list, unions everyone's peer lists, and renders the constellation. the aggregation happens in your browser.

read SPEC.md - it's one page, you can do it (I Believe In You)

join the network (live site)

if you already run a websocket server (flok, y-websocket, anything that knows how many sockets are open), bolt on the handler in bolton/ - it's ~20 lines. wire getRooms() to whatever your server already knows.

join the network (static site / gravestone)

hand-write a slippy.json with no rooms and drop it in your root:

{
  "slippy": "1.0.0",
  "name": "here lies nudel",
  "peers": ["https://reisnudel.cc", "https://ravioli.nudel.cc"]
}

you are now a signpost. corpses are valid network participants.

put the constellation on your page

<script src="./slippy-widget.js"></script>
<slippy-net seeds="https://reisnudel.cc, https://ravioli.nudel.cc"></slippy-net>

manual refresh only please! presence is something you check, like looking out a window.

try the demo

python3 -m http.server 8000
# then open http://localhost:8000/widget/demo.html

(it fetches the fixtures in examples/, so it needs a server - file:// won't let it fetch.)

repo map