One of the fascinating things is that nostr has what very much looks like a client-server architecture, but it’s not, it’s widely different than that due to the signatures at the edges on the data.
Many new implementations possibilities open up because of this and the fact that all data is addressable and composable.