The Nostr protocol as such does not look like a huge revelation. JSON, hashes, signatures, and that’s about it. JSON is not a cryptographer’s best friend, by the way.
Effectively, everything else is left to be implemented.
That probably explains try-everything-see-what-works approach to client apps?