A WEBRING FOR THE UN-CLEAN WEB BY SOPHIE'S SWAMP MIT

QUIET WEB RING

personal sites. slow sites. weird sites.

The internet has become a shopping mall. This is a webring for the sites that aren't — the handmade, the slow, the strange, the ones with a soul. Drop a tiny script on your site, the ring lights up ← prev · ⚝ random · next → at the bottom, and people start walking the long way home.

members
~3 KB widget
Zero tracking
MIT
Join the ring → See members

The web used to be weird. Personal sites looked like the people who made them.
Now everything is SaaS dashboard energy.
This ring is for the holdouts.

— and for everyone who wants to take the long way home.

What counts

soft rules. taste matters more than checklists.
PersonalYour site, not your company's. Made by a human (vibes-coded with AI is fine — the taste should still be yours).
Has a voiceDoesn't look like every other site. A specific feeling, a specific weirdness, a specific stubbornness.
RealWorking URL, non-trivial content, not a placeholder, not a coming-soon page.
Not for saleNo crypto pumps, no MLM, no engagement-bait, no SEO-spam, no infinite scroll.

Members

click any to visit · ring grows by PR

What you'll embed

live preview, on this page
LIVE WIDGET · AS A MEMBER WOULD SEE IT

How to join

two steps, no application form

1. Open a pull request on the repo adding your entry to sites in quiet-ring/ring.json:

{
  "url": "https://your-site.com",
  "name": "Your Site",
  "description": "What it is, in one sentence.",
  "tags": ["personal", "art"],
  "joined": "YYYY-MM-DD"
}

2. Once your PR is merged, drop this on your site (anywhere — usually the footer):

<script src="https://sophieren.com/quiet-ring/widget.js"
        data-site="https://your-site.com"></script>

That's it. The widget will fetch ring.json, find your URL, and render prev / random / next in the order members joined. Override colors via CSS variables on .quiet-ring (--qr-bg, --qr-fg, --qr-accent, --qr-border, --qr-radius).

Or self-host a fork

don't like this ring? make one. it's tiny.

Everything here is two files: widget.js (~3 KB) and ring.json. Fork the repo, host both on your own domain, point data-ring at your URL:

<script src="https://yourdomain.com/path/widget.js"
        data-site="https://your-site.com"
        data-ring="https://yourdomain.com/path/ring.json"></script>

No central authority. Start a ring for poetry sites. Start a ring for cooking blogs. Start a ring for whatever this ring isn't.

MIT licensed

Widget + ring data are MIT. Member sites belong to their authors. Forking the structure to host your own ring is encouraged.

Walking the long way home?

Feed the cats who watch the path.

🧋 TREAT THE SWAMP →

Versions

v1.0.0 · 2026-05-29 · initial ring with 7 charter sites + widget + JSON.