# Octothorpe Protocol docs.octothorp.es ↗

An entire social network.
Built with regular HTML.

clown.business is a professional network for working clowns where every member hosts their own website. The hub aggregates posts, hashtags, and webrings using the Octothorpe Protocol — no central database, no accounts, no algorithms. Just HTML links.

Cross-domain octothorpes
Webrings + blogrolls
RSS for everything
Your own domain
Just HTML
Architecture
bozo.clown.business
Independent website
+
mimi.clown.business
Independent website
+
coco.clown.business
Independent website
octo:octothorpes
tag.js ping
octothorp.es
OP server
clown.business
Hub + feed browser
Getting started in 5 steps
1
Add the OP beacon
Drop one script tag on your site. When any visitor loads your page, it pings the OP server to index your links and octothorpes. No crawlers. Just page visits.
<!-- 1. Add this to every page of your site.
     When visitors arrive, it pings the OP server to index your page. -->
<script async defer type="module"
        data-register="https://server.clown.business"
        src="https://server.clown.business/tag.js"></script>
2
Join a webring
Octothorpe-link the ring URL. Anyone who links the same URL is a co-member — prev/next navigation reads the live membership.
<!-- 2. Join a webring by octothorpe-linking its URL.
     Anyone who links the same ring URL is a co-member. -->
<a rel="octo:octothorpes" href="https://clown.business/ring">clown.business ring</a>
3
Tag your posts
Add rel="octo:octothorpes" links pointing at the term page on the OP server. Anyone following that octothorpe across the ring sees your post.
<!-- 3. Tag your posts with octothorpes.
     Any rel="octo:octothorpes" link to https://server.clown.business/~/<term> is a hashtag. -->
<a rel="octo:octothorpes" href="https://server.clown.business/~/pratfalls">#pratfalls</a>
<a rel="octo:octothorpes" href="https://server.clown.business/~/leadership">#leadership</a>
4
Cite & bookmark
rel="octo:cites" and rel="octo:bookmarks" turn ordinary links into tracked, two-way connections between ring members.
<!-- 4. Cite or bookmark other posts to build connections.
     OP turns these into backlinks between ring members. -->
<a rel="octo:cites" href="https://penny.clown.business/posts/knee-health">Penny's biomechanics post</a>
<a rel="octo:bookmarks" href="https://bozo.clown.business/posts/promoted-to-cho">♪ honk</a>
5
Embed a live component
Drop in a real OP web component like <octo-thorpe> for an instant, always-current feed of a term — no build step.
<!-- 5. Embed a live OP web component (real ones from https://server.clown.business). -->
<script type="module" src="https://server.clown.business/components/octo-thorpe.js"></script>
<octo-thorpe o="pratfalls" render="list" autoload></octo-thorpe>
A complete example
The full source of a Bozo D. Ringwald post page — a regular HTML file on his own server.
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>On being promoted to CHO — bozo.clown.business</title>

  <!-- OP indexing beacon -->
  <script async defer type="module"
          data-register="https://server.clown.business" src="https://server.clown.business/tag.js"></script>
</head>
<body>
  <article>
    <h1>On being promoted to Chief Honking Officer</h1>
    <p>Humbled and honored to share that after 14 years of dedicated
       pratfalls, I've been promoted to CHO at Ringling Strategic Partners.</p>
    <p>Tagged:
      <a rel="octo:octothorpes" href="https://server.clown.business/~/leadership">#leadership</a>
      <a rel="octo:octothorpes" href="https://server.clown.business/~/honking">#honking</a>
    </p>
    <!-- Ring membership -->
    <a rel="octo:octothorpes" href="https://clown.business/ring">clown.business ring</a>
  </article>
</body>
</html>
That's the entire integration. No API keys, no accounts, no database.
Ready to join the ring?
Claim your *.clown.business domain and start posting. Your site, your content, our feed.
Read the OP docs
The clown.business ring
6 members · 12 hashtags · 3 rings
All connected via octothorp.es