Some thoughts about Nostr & Custom Feeds
A bunch of nostr apps have custom feeds, but they’re oddly one of the few things which aren’t reusable across apps. Over on bluesky, they’ve got 40k custom feed algorithms and it’s a really popular thing.
For example, here’s a feed of just pictures of moss: https://bsky.app/profile/did:plc:x3cya3wkt4n6u4ihmvpsc5if/feed/aaacynbxwimok
In particular though, there’s feeds for different takes on what should be for you, trending, top, etc…
We don’t have that in Nostr, and i wish we did. I’m going to outline a way in which i might be possible for us to get there.
First off, we’ve got to understand how the third party feeds work in bluesky. The way it works is that each user has a single PDS (think relay) where they post their content. That relay is then indexed, by a global index server (there can be multiple), which may or may not keep a cache of a users content.
An index is a third party service which clients can connect to and say, i’m bob and i want the feed “only posts by bobs”. That feed service does not keep a copy of the content, nor does it provide it to the clients. Instead when user Bob requests the “only posts by bobs” feed, it checks the user requesting, then it’s indexes of content, and returns an array of message id’s (hashes) for what it thinks is a good bobs feed. The clients then request that actual content from the relay (PDS) servers, or their caches. There’s even a service for no-code creation of custom feeds, skyfeed.app.
This would be pretty easy to make. A nostr relay service that instead of serving the full content, just lets you request a feed, and it would return message event id’s for the events in that feed. You’d then go request that content from relays that are hosting content. We could do it with dynamic lists too, but then we wouldn’t be able to customize it per user.
I’d like an easy way for developers to make and deploy custom feeds without having to have the whole own nostr app the way they need to do it now. As an app developer, i’d love people to be able to build their own feeds without me doing the work of tight integration.
I know that Damus has nostrscript which does some of this in the client, but it only works on one nostr client, and hasn’t really taken off yet. A server based solution might be a lot better. Something we can support that works with nostr, but lets people make many feeds.
Thoughts?
i like this a lot, been thinking about composability in general and specifically about discoverability and relay logic
lists are the closest, but as you say, they're generic, and making per-user lists would be unwieldy
complicating relays in this is a big departure from being 'dumb'
so i wonder if optional 'indexers' are the way, i think many clients are already doing it (certainly primal), and everyone keeps doing it their own way, we'll eventually see the clients become walled gardens
ofcourse the downside is that indexers become de-facto sources for most, but as long as they're easy to implement/stand up (i'm even thinking in-browser personal indexers), the same argument used for relays is used for indexers - and there's always the option of just querying relays directly
the upside of shareable feed logic and the reduction of loads on relays due to indexers aggregating (most of) the querying feels worth it
Fiat rules you with anxiety
Bitcoin restores your agency
are we ok with skipVerification then?
#asknostrdev
you understand that blackrock only holds it on behalf of the ETF holders, right? ie - if bitcoin dumps, they don't lose
don't mistaken their business sense for the faith in bitcoin
and they actually do hold bitcoin, albeit in custody, at coinbase
i hope i'm right in thinking that it was twitter's algos to blame for all the angst and toxins in the feeds
nostr, like bitcoin, is a chance to do better - but it's not a guarantee
How about a freshness indicator based on profile publish time? So u can tell a profile is “green” ie recently updated
ETFs asleep on weekends, only hedgies and whales move it now
maybe a crazy idea - but what if you did it like an overlay? ie - start with what's on wikipedia (ie rev proxy into it), an then allow anyone on nostr to fork an article into wikifreedia with all that it entails?
you have the power to make it so
please be! i miss your posts from twitter
Threads are hard to do because of a number of reasons, such as no ability to actually query replies to a note, but especially difficult because of how to represent threads in a batch-updated reverse chrono feed that’s asynchronously loaded from various-distant relays. I can send you a whole paper on the UX considerations that I wrote as part of tackling it myself.
It’s hard but not impossible, I haven’t seen any clients do it well yet.
yes it is, my remedy: lots of sunlight, cardio and last resort - melatonin...
from someone who's done this professionally (get jetlagged)
I agree, but I’ve learned to accept that even what we had previously established is ok to question and retry.
Welcome to the random walk 🤓




