Show HN: Discover and link the indieweb with a simple text query

outerweb.org

3 points by cosmicgadget 11 hours ago

I have a personal blog and homebrew static site generator. The features of this SSG have slowly grown over fifteen years of development and recently I added the standard "Related Posts" widget that appears at the footer of each page. As I was writing the code to find similar posts from my site, it struck me that it'd be nice to have a Related Posts section for other people's content. Some of the walled blogging services do this but I'd never seen it for the open web.

Having external links on my posts would give my reader(s?) topical information from voices other than my own. And those indieweb(/smallweb/blogosphere/old web/personal web) voices could grow their audience.

There were two problems:

1. I'm lazy and didn't want to scour the web for the obscure subjects I write about, particularly after a brutal blogging sesh (iykyk).

2. Finding blogs and personal pages is hard*. See also The Small Website Discoverability Crisis(https://news.ycombinator.com/item?id=38276951) and The Dark Forest Theory (https://news.ycombinator.com/item?id=19972343).

* It's gotten a lot better since Marginalia Search came on the scene (https://news.ycombinator.com/item?id=42836405).

The solution was to build my own compendium of posts from RSS/atom/"save html"/etc, then query this database from my SSG publish() function. So after a brief coding montage, I had a modest link database and an SSG that would add page footers with external links like:

  +---------+
  | Preview |  Title and link
  |   img   |  Description
  +---------+
It worked well for my own purposes. There wasn't always a great match for a given post but it got better as I grew the corpus and tweaked the matching algo.

This brings me to the ShowHN part. I enlisted my buddy - who'd been pivotal to the ideation and design - to build a web interface that would allow anyone to perform the same query: the plaintext of your page goes in, related links come out. It's up to the blogger/publisher/creator to decide who and what they want to link from the results.

That's the overview, the FAQ has more info. If our site gets the HN hug or you'd simply prefer not to click through, please find my top-level comment with examples from a couple of today's /active posts. Don't hesitate to reply to that comment with your own link and I'll run it through the offline tool, then reply with the results.

Similar projects

This isn't the first indieweb discovery tool to come across HN. Our project borrows ideas from search, blogstumblers, and webrings but hopefully provides a capability that none of these offer. To list a few:

Kagi Small Web (https://news.ycombinator.com/item?id=37420281), Marginalia Exploration Mode (https://news.ycombinator.com/item?id=30047455), indieblog.page (https://news.ycombinator.com/item?id=43139953), and a few others offer a random walk through the indieweb with varying levels of curation. We're aiming to provide the same easy discovery experience but with less randomness; pages about X link to pages about X.

Blogrolls (https://news.ycombinator.com/item?id=16239822) and webrings are great for introducing readers to someone new that they might like. Our project provides the same discovery experience for blog readers but isn't confined to a web clique. Additionally, it links page-to-page rather than site-to-site so readers might see fewer topical curveballs.

We already mentioned Marginalia Search. We consider that the primary entrypoint to the indieweb (https://www.haukeluebbers.de/blog/2023-07-entrypoints-to-the...). Our tool is focused on moving around the indieweb and densifying links within it.

Big thanks to Dan for all the help with this post!

cosmicgadget 11 hours ago

Please reply to this comment with a url if you'd like me to run a query for you. I'll prune any results that look real bad but keep the number ordering, so if you see "1, 2, 5" it just means 3 and 4 weren't great.

Below are some recent HN posts and the list of recommended reading. Caveat: the matching algorithm makes some arbitrary decisions so no two queries will necessarily be identical.