I’m writing up an article that describes how a client like tunestr can use this nip to do exactly that - let users define content types.
Example: tunestr create a category called Musician Categories. Then users add items to this list to create content types:
- Country Music Artists
- Pop Artists
- Jazz Artists
etc
Each of the above is a kind 9999 note which specifies that items expect a p tag (the musician). Your grapevine decides which Artist Categories to accept.
Users also contribute individual musicians to each category, also using kind 9999 notes. Other users endorse or reject items using kind 7 reaction events. And your grapevine users all this data to decide which list items to accept / reject.