How It Works

One JSON manifest in, a real-time server out — on your Mac or your own host.

Slash Socket turns a JSON manifest into a real-time server. The manifest names fields — a chat list, a likes counter, who's here, everyone's cursor — and says who may read and write each one. The runtime serves exactly those fields over a WebSocket, checks every write against them, and your page uses them through a small client. There's no server code to write.

How a socket runs

slash.tools keeps your manifests and your account. It never sits between your visitors and your socket.

slash.toolssocket.jsonWrite it on the dashboard, the builder, or with the LLM skill
manifest · arrives with the Mac's check-in
Ada
Lin
Sam
Your pages · client.js
live.example.comA record → your Mac's IP, kept current from the dashboard
Slash Socket appRuns the socket on your Mac
  • presencepresence
  • cursorstream
  • chatlist
  • likescounter
Every write checked against the manifest
admin · Fields tab, same app
Slash Socket appThe consoleEvery field by type, who's connected, remove and ban
  • One manifestFields and who may touch them. No server code.
  • Your serverOn your Mac or any host, from the same runtime.
  • Your domain, your trafficVisitors never pass through slash.tools.
  • The app is the consoleManage every one of your servers from one place.
  • The manifest — one JSON file. Write it on slash.tools under Dashboard → Socket, with the field builder or as JSON, or have an LLM write it with the Slash Socket skill.
  • The server — the same runtime wherever you want it: inside the Slash Socket app on your Mac, or slash-socket-server on Fly.io, Railway, Render, a VPS, or anything else that runs a container.
  • The client — your page imports connect from your server's /client.js (or @slash.tools/socket from npm) and reads and writes fields by name.
  • The app — Slash Socket is the console: every field rendered by type, the pages connected, removing and banning, for your Mac's server or any server you add with its admin key.
socket.json
page.js

Your server, your traffic. Visitors connect straight to your server; slash.tools keeps your manifests and your account and is never in the path between your visitors and your socket, so there's no shared server to outgrow and no bill but your own host's. Domains are yours too: point any domain at your server, or let the dashboard publish one through Vercel for a socket running on your Mac.

Next: the Manifest reference, the field types, the client, and a deploy recipe for wherever you want it to run.