* a marketplace (sort of like eEay) where you can buy/sell items for a fixed price or as auctions
* a CMS you can use to host your own website (sort of like Jekyll, but without the build step, and with an admin interface)
People build all sorts of things though!
The most notable things that people are trying to build (it didn't happen yet though) is a GutHub replacement, because Jack Dorsey famously said he will give 10 BTC to whoever does it first.
Has this caused you any issues with your projects?
Currently clients just use the same bunch of relays as defaults, and let you (maybe) customize the relays you want to connect to.
I think this is sub-optimal for another reason, besides the one you mentioned (discoverability?): you don't necessarily control where your data is stored, and these relays might disappear without notice. It is a great way to broadcast status updates, but not great for having an archive of your own data, that you can trust.
I assume this will change eventually, with paid relays, which will have the incentive to keep your data around, OR personal relays - which is what I am building as part of my CMS - basically I want all my data to have one "canonical" location (my domain) and be hosted on my VPS, which also serves my data as a web page with RSS... this helps me wrap my head around where my data is stored, and know that I always have a copy of it... but doesn't solve the discoverability issue, I guess, which ... IDK, it seems to be solved using just a "shotgun" approach: mostly publishing to well know relays.
It's very early days still, but I use it myself.
The marketplace [2] is much more advanced! You can already use it to buy and sell stuff over Nostr!
[1] https://github.com/servuscms/servus [2] https://github.com/PlebeianTech/plebeian-market
This problem is tackled by an improvement to the protocol that was recently introduced called "NIP-65": https://github.com/nostr-protocol/nips/blob/master/65.md
The TLDR is that when a Nostr client supports NIP-65, it broadcasts to all known relays (which is continually updated/expanded) the list of relays that User A posts their stuff to.
This means that as long as User B is connected to at least one of those "all known relays", their client now knows what relays User A posts their stuff to, and will specifically fetch things from those relays when it needs to load User A's things.
It's essentially the Nostr take on the Gossip protocol: https://en.wikipedia.org/wiki/Gossip_protocol