Adapt-to-Swarm

Real web apps, running fully on Swarm.

Five popular open-source apps, each taught to share through Swarm decentralized storage with a small, additive change — typically swapping a centralized share/export backend for a content-addressed Swarm link, in roughly 50 lines. Every one is deployed on Swarm and verified to render. The clips below are captured live from the Swarm-hosted apps.

Excalidraw

MIT · flagship

The 126k-star virtual whiteboard. “Share link” now publishes the drawing to Swarm. Excalidraw already encrypts the scene in your browser with the key kept in the URL, so the Swarm gateway only ever stores ciphertext — private sharing, no account, no server.

Collaborative whiteboard
Open on Swarm
excalidraw.ontheswarm.eth
Feed reference — open on your local Beebb4806a49886b471dd4861c78f6388a6887885c5f8cbca326f0247e553a30338
ENS content hash — paste into ENSbzz://bb4806a49886b471dd4861c78f6388a6887885c5f8cbca326f0247e553a30338

D2 Playground

MPL-2.0 · official

The official playground for D2, a modern diagram-scripting language. Diagrams render entirely in your browser (WebAssembly), so the whole editor runs from Swarm with no server. Adds “Share via Swarm” — a short, size-independent permanent link for any diagram.

Text-to-diagram editor
Open on Swarm
d2.ontheswarm.eth
Feed reference — open on your local Bee7919fab9f40a1f034ab5e4b1d7eb7a883c2294e31111d21801683ba6ba788118
ENS content hash — paste into ENSbzz://7919fab9f40a1f034ab5e4b1d7eb7a883c2294e31111d21801683ba6ba788118

Mermaid Live Editor

MIT · official

The official editor for Mermaid, the text-to-diagram tool built into GitHub, GitLab and Notion. Adds “Share via Swarm”: instead of packing the whole diagram into an ever-growing URL, it stores the diagram on Swarm and returns a short permanent link that stays the same length no matter how big the diagram grows.

Text-to-diagram editor
Open on Swarm
mermaid.ontheswarm.eth
Feed reference — open on your local Bee5861c05cefb4d6788bfca0ed2fdc687788e1929745fcb29a6b4f998e2245e26a
ENS content hash — paste into ENSbzz://5861c05cefb4d6788bfca0ed2fdc687788e1929745fcb29a6b4f998e2245e26a

Hydra

AGPL-3.0

A browser-based live-coding environment for real-time video synthesis, popular with VJs and generative artists. The whole app runs from Swarm, and a “Share to Swarm” button turns any sketch into a permanent link that opens straight into the running visuals.

Live-coding visuals
Open on Swarm
hydra.ontheswarm.eth
Feed reference — open on your local Bee4a17087a11e66b0de5ed12b37152306b487cd70b802ab78621704c071f64e3ae
ENS content hash — paste into ENSbzz://4a17087a11e66b0de5ed12b37152306b487cd70b802ab78621704c071f64e3ae

Prompt Optimizer

AGPL-3.0

A 32k-star tool for writing and refining AI prompts. Adds “Share to Swarm” for your favorite prompts: one click turns a saved prompt into a permanent Swarm link that anyone can open, and the app auto-imports it. Only the single-prompt payload is shared — never your API keys.

AI prompt engineering
Open on Swarm
prompt.ontheswarm.eth
Feed reference — open on your local Bee75189f5a93d3c34d71ad97f7d44d6598a711acd54aa18eca39ae0fa69a614059
ENS content hash — paste into ENSbzz://75189f5a93d3c34d71ad97f7d44d6598a711acd54aa18eca39ae0fa69a614059

The pattern

All five share one idea: a static, client-side web app with an existing “share / export” seam for a small artifact is a near-free Swarm port. Swap the centralized backend (a server, Firebase, a pastebin) for a content-addressed Swarm upload, and the artifact becomes a permanent, tamper-evident link with no account and no infrastructure of ours. The reusable ~30-line core is packaged as the drop-in swarm-share module, so each new port is a small integration.

Each app is hosted on Swarm behind a feed — a stable reference that always resolves to the latest build. Expand the small arrows under each “Open on Swarm” button to reveal that feed two ways. The feed reference is the bare Swarm reference: click it to open the app on your own Bee node (it links to localhost:1633, so it works when your Bee is running). The ENS content hash is the same reference with a bzz:// prefix — the value you paste into the name’s Content Hash field in the ENS app to serve the app from your own .eth name. The “Open on Swarm” links above adapt to how you’re viewing this page: on your own Bee they become .eth links, on the public gateway *.bzz.limo links.

Note: served from Swarm, storage costs paid by a gateway — so the content lives as long as it is paid for. For controlled duration, run your own Swarm Bee node.