My friend Nik and I share a lot of interests, and we like to write about them on our own websites. We’d hang out and talk about printmaking or building websites or the complexity of planning creative work, only to discover later that one or both of us had written something relevant on our site. We wished it was as easy to follow and find posts on each other’s site as it was on social media. Why couldn’t we hashtag things on our own sites, or quickly tag each other while writing? Now we can because we ended up making a new internet protocol to do it.
The thing we made is (っ◔◡◔)っ ♥ Octothorpes ♥ or Octothorpe Protocol or just OP. "Octothorpe," if you're unfamiliar, is another word for hashtag.
We like to say that Octothorpes are jailbroken hashtags, because OP lets you use hashtags on your own website.
Tagging or hashtagging a page the normal way links pages on a single site with the same tag, but octothorping it will show you the pages with the same tag across an unlimited number of sites & domains. Here's one right now:
OP can do a lot more than that, since once you make hashtags work across domains you can do lots of other fun stuff, but we'll start with "octothorpes are hashtags for the whole internet."
Some history
The word "octothorpe" started as a joke between telephone engineers at Bell Labs. Or it was coined as a covert statement in support of Native American athlete Jim Thorpe. Or maybe a secret third thing. No one is quite sure.
My choice of the word certainly started un-seriously, but right away I could feel a lasting rightness to it. The more I looked into this awkward word, the more I liked it. It does not roll of the tongue, it is not clever, nor is it sassy, and it doesn't even have a pithy origin story that I can start future TED talks with. Octothorpe is Pied Piper to the Hooli of "hashtag." "Octothorpe" is unnecessary, ad-hoc, nerdy, not too serious, and kind of an in-joke left out in the open. That's how the internet felt when I started using it as a zine-making teenager, and that's the kind of world wide web we want to support and protect and spend time on.
The messy, ad-hoc origins of Octothorpe Protocol
I came up with the idea on a looong hike in Canyonlands when we weren't lost but we were definitely taking the wrong way around to Druid Arch. The fugue-like state of putting one foot in front of another for hours at a time caused elementary particles of curiosity and dissatisfaction about categorization, the dying internet, and thingness floating around my mind to fuse into a semi-coherent theory. It is only now, in the third or fourth retelling, that I remember I was reading Timothy Morton's Hyperobjects on that trip, and it almost certainly triggered some deep process of conceptual labor that had been slowly attracting those thought-particles during all that time to think. As soon as we got out of the park, I sent Nik some nigh-incomprehensible voice memos detailing the project, and he dug it.
Nik and I talked about it for a couple years, poked at the project here and there while life and other art projects distracted us. But we couldn't shake it. I built my own memex with Octothorpes in mind, and Nik and I would regularly talk about RDF and ontologies over sandwiches. Then Nik moved to Sweden, and life just kept life-ing. One day I said out loud to to my wife "Octothorpes is a cool idea but I just have too many other meaningful, creative projects and I need to just let it go," which immediately set in motion some monstrous gear in the ironic machinery of the universe to upend Nik's life in such a way that he found himself without a job, motivated to bang out a prototype of Octothorpes, which worked. It's been our extra, unpaid job ever since then but it's the first software job I love.

Just like that hike in canyonlands, the road since then has been a series of fugue-like marches to yet-unseen but exciting destinations, driven by the desire to see something new and a healthy awe at the hyperobject we found ourselves marching through – in this case the internet.
What Did You Build Tho?
OK, so what is the Octothorpe Protocol?
At its core, OP is a way to track relationships between web pages and a set of tools to navigate that web of relationships.
It works like this:
- Register your site with one or more OP servers
- Add some basic HTML to your pages to tell the server(s) to look at your page and what to look for
- OP servers store these relationships in a way that can be easily shared, browsed, and turned into feeds
Wait, there's a server in between? Isn't this just another platform? Sure, if we were trying to hoard your data and attention on the server. But OP servers are just lightweight relays, with some big differences from platforms.
OP servers only track what you ask them to. They don't crawl the internet, and they don't store any information that's not already on your public web page.
So the canonical version of the data is in the web of independent sites that any individual server is tracking. There's no barrier to exit, because there's nothing new on the server to export. Servers just reflect existing links between webpages in a way that makes it easy to navigate the relationships those links represent.
It all starts with hashtags
Hashtags are just fancy links. When you hashtag a page #hummingbirds, you link your page to the term hummingbirds. Now you're also sorta linked to all the other pages using that term. So hashtags are special because they create a relationship between all the pages using the same tag. But someone's got to keep track of all those relationships. That's where OP comes in.
We treat hashtags like a protocol – concepts that link an unlimited number of documents or URIs. OP servers provide not just pages where you can see hashtags and their relationships, but feeds that you can subscribe to via RSS or use as data sources.
Hashtags are just one kind of relationship
If you remove a hashtag from the web of relationships it creates, you get a bunch of different pages linked to the same place.
So that's why OP can also track links. OP servers can make feeds of all the links to or from a URL, turn links into backlinks, and track different kinds of links like bookmarks, citations, or mentions.
It does webrings too
We already have a word for a bunch of related sites linking to each other, and that's a webring. So you can also make and manage webrings with OP.
The home page of a webring, like a hashtag, is just a fancy kind of page that lists all the domains that link to it. So if you tell an OP Server that your page is a webring, then it knows that the domains mutually linked to that page are members of that webring.
It's really that easy -- make a page, call it a webring, link to some sites, and if they link back to the ring's homepage, they're members.
Now Good Internet Magazine has their own webring, with its own API
OP lets you to build your own algorithm
Every list of things that OP can describe can be a feed, and you can build your own and combine them with the API, to use as either RSS or Json.
Some examples are:
- Mentions from friends
- Make a webring, and you can subscribe to a feed of every time anyone on the ring links to something on your site.
- Subscriptions to a topic
- Just like normal hashtags, you can subscribe to all posts with the same tag (or tags). But with OP, you can specify exactly which sites you want to see posts from, even if they spell their hashtags a little differently.
- Dynamic blogrolls and webrings
- You can easily get the classic "sites we like" list or prev/next/random webring widget out of OP, with the added advantage that they stay up to date as they change.
We tried to make this as simple as possible
OP certainly isn't the only way to do some of these things without a platform, but it's always been a priority to us to make Octothorpes as easy to use as possible. I want someone on Neocities to be able to use all the features as long as they know how to copy and paste HTML. I've taught intro-to-HTML classes for total beginners and seen it happen. And we're working on making it even easier.
Bear Blog and Peep.zone currently implement OP out of the box. We have a Wordpress plugin that does it all for you. But you don't actually have to change your HTML to use octothorpes if you don't want to. We have a web component for drop-in hashtag lists (you saw it on this page), and are working towards providing web components for every part of the API. By v1.0 we plan to offer a turnkey server setup so more people can host their own relay and make this a truly distributed network. When more servers exist, it'll be easy to connect, since the query language we use in our datastore has native federation features.
And that's just the open-source core. We're currently working on commercial products based on OP that could provide a more app-like / account-based experience for people who want to connect to the independent web but aren't ready to build it yet. And now that we built the plumbing we can build the toys, like shared emojis, stickers, and more. Turns out there's a lot of fun you can have when every personal webpage can be its own API.
It's been fun
The conversation we originally wanted between our websites is possible now. The first time that happened was by accident, and it felt like magic. Now that my friend Lucy has thorped every tag she's ever used on her excellent blog, that kind of thing happens more often.
When we started on Bear Blog, I realized, much to my horror, that we didn't have a #cats octothorpe when we learned about Snowapple's morning routine. So I fixed that.
Why
In a way, this was all we wanted out of Octothorpes (and the social web in general) – a way to spark conversations with friends and to cross paths with inspiring new people. Alas, trying to make human-scale, independent, and open spaces to do that online, in 2025, quickly runs into some wicked problems with "online" in general.
Like probably everyone reading this, we're sad and mad about how the basic need to to build communities of affinity online has been colonized and exploited by predatory platforms. I feel so lucky that we were both able to go to the last XOXO festival just a few months after sending the first octothorpe, because that experience helped turn that sadness and anger into action. A palpable zeitgeist ran through the talks and most conversations there. Everyone was thinking about or actively working on how to, as Erin Kissane put it, fix the fucking networks.
After XOXO, we were galvanized. People got our thing, and I had never been in a population with a greater density of people who knew the word "octothorpe" already. It was making those good conversations happen, but more than that, OP felt like our own little way we could work on these big problems.
Shortly after XOXO, Jay Zuerndorfer started a project called Weird Web October, which is still the best thing that's happened with Octothorpes. The prompt was simple: make a new webpage on a different theme every day for the month of October. We worked with Jay to get Octothorpes ready, and every day for the whole month the sites came rolling in. There are so many amazing ones, I implore you to check them out.
I wrote something at the time that still resonates:
I'd look at the feed on my site or the main server, and think, oh this is cool, I should go to the place where this all lives. And then I'd realize, no, this is the closest we'll get to that. ... The octothorpe for weirdweboctober has far more sites than a hashtag anywhere else – mastodon, x, instagram, wherever. I was looking at the platform, and it's a protocol... It's unpleasant to realize that the feeling of "oh let's go to the place the content I want is locked up" is second-nature for me. So I'm glad to be working on something that pushes back against that way of thinking about the internet.
Just a couple weeks before writing this, I launched our first stable version of OP, including a redesign, an elevator pitch, and new documentation. I finished it at a really fun HTML Day meetup in the back of a friend's art gallery here in Portland. The place was packed! After what felt like another endless march through miles of code, I found myself surrounded by lovely people who were all having fun making their own web pages, sharing them, and having good conversations with friends and strangers. That version of the internet isn't just possible, it's here, in places like that and Good Internet Magazine. I just hope OP can do its part to help those of us building it find each other and stay connected.
If you're interested in using, developing, or funding Octothorpe Protocol, by all means, get in touch!
Ním Daghlian is an artist, writer, and web developer based in Portland, Oregon. From 2009 - 2015 he ran Research Club Portland, a non-profit organization that hosted more than 150 speakers at monthly events where the arts, technology, maker, and advocacy communities shared ideas and projects until 2015. Having heard so much overlap in the way people talk about their creative practices across multiple disciplines, he developed The Theory of Conceptual Labor. He makes music as Municipal Xylophone, and is currently working on his second album, Music for Painting. He has two grey cats, Frankenstein and Elvira.
Member comments