I am writing a NIP to specify how something like "websites" [0] could be built on Nostr. This is inspired by HATEOAS [1], which is an obscure, but critical, aspect of REST.
I think I've figured out the essence of how clients would create "websites", hyperlinks to notes of any kind, and provide server-like responses (e.g. click a button and the other client responds with a note containing more HTML).
In this way, Nostr clients can present RESTful APIs to other Nostr clients, which enables things that are impossible with ordinary HTML servers (e.g. "websites" that cannot be feasibly taken down by court order or DDoS).
[0] = "Website" is a bad name for this, which is why I put the word in quotes.
[1] = HATEOAS is an acronym for "Hypermedia As The Engine Of Application State". See this for a short explanation.