You don't have to fork khatru, you use it as a library that does the annoying plumbing and you just sprinkle in your magic querying on top to build custom relays.
My current roadmap:
Product 1. “Google for nostr; PageRank for pubkeys.” Similar in some ways to nostr:npub1xdtducdnjerex88gkg2qk2atsdlqsyxqaag4h05jmcpyspqt30wscmntxy ‘s nostr.band’s keyword search. Maintains a centralized nostr cache that uses neo4j (a FOSS graph database) and calculates personalized PageRank scores, GrapeRank scores, and DoS scores.
Product 2. Personalized Grapevine WoT relay. Alternative to nostr:npub1utx00neqgqln72j22kej3ux7803c2k986henvvha4thuwfkper4s7r50e8 ‘s WoT relay, except that the WoT network is defined using the GrapeRank algo, ie: your network = all pubkeys with influence score above 0.01 or whatever threshold works for you. Will use #neo4j and will borrow a lot of code from Product 1. Two options: 1. Fork nostr:npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6 ‘s relay written in go (which is what utxo did I think) or 2. make a plugin for strfry. (Maybe try both?)
Product(s) 3. Make tools to make it easy for devs to crank out new interpretation protocols and craft new Worldviews, as presented here: https://grapevine-brainstorm.vercel.app/#/worldviews
#wot
#grapevine
Discussion
You could probably do in 5 min what would take me a month 😅