If I were to spin one up for you, Iâd make it dawn.brainstorm.social; it would be just like straycat.brainstorm.social except anchored to your pubkey instead of mine. I may want to do that pretty soon so I can get your feedback!
The main thing that makes foo.brainstorm.social different from my previous iteration earlier in 2025 (grapevine-brainstorm.vercel.app) is that each instance of foo.brainstorm.social now incorporates strfry (not just neo4j) and is âownedâ by one pubkey (foo).
My main focus over the past few months has been getting neo4j to synchronize with strfry and then stay synchronized indefinitely. Seems to be working, and right now my focus is making sure it can run for long periods of time with a minimum of headache. Once thatâs done, the next step will be making the various WoT scores available to other clients and services.
What Iâm probably gonna do, but havenât done yet, is make it so that any given Brainstorm instance â dawn.brainstorm.social, for example â can calculate the full gamut of personalized WoT scores (GrapeRank, PageRank, hops, verified follower count, etc) not only for the Brainstorm owner (you in this case) but personalized to other users as well. At first youâd do it for your friends; eventually youâll be able to do it as a paid service if you wish.
The first real use case, I think, will be to produce a whitelist of pubkeys which is very inclusive â much more inclusive than âmy follows + their followsâ â but from which spam is reliably excluded. That whitelist can be accessed via api by relays and used to guard against spam. Hmm, maybe call it SpamGuardâ˘ď¸? SpamShieldâ˘ď¸? I already have the api running; see for example https://straycat.brainstorm.social/get-whitelist, which produces a list of about 97k or 98k pubkeys, updated every 2 hours. That list is created by querying the database for pubkeys with graperank influence > 0.01; Iâll probably add an option to pass the cutoff to the api as a parameter.