My issue with Nostr right now (and I've said this before here and elsewhere) is that most of the devs are spreading themselves thin feature-packoing their apps, rather than establishing single use cases, as @fiatjaf suggested. I believe this creates a lot of technical debt/bloat, and will limit the success of apps like Damus and Amethyst. It seems like many developers have taken adoption for granted, but unlike Bitcoin, Nostr didn't come with an implementation. And that's the point! Rather than perfecting any individual use case, they are concurrently developing various intertwined use cases, which resist compatibility with other clients/relays. I expect lots of bumps in the road as Nostr grows, lots of stratification and centralization. I still don't use Nostr because I haven't found a client or a relay that appeals to me. I hope to implement my own relay sometime soon, but that's an uphill battle I'm not ready to tackle.