Typescript, VueJS 3 and Rust (via Tauri which makes a portable webview-based local app like Electron but much lighter)
I hear ya! I've just about got my desktop client which I started 2-3 days ago showing a feed (and keeping it updated) for the first time from multiple relays. I feel like I just drove up a long winding hill and I'm about to hit the downhill strait.
Remember all the relays for a user. 1. If you are already listening to a relay in the user's list, use that one. Otherwise just pick one. 2. If the one you picked is down, choose another.
I started drafting a NIP for issue 70 to put relays in nip05. Maybe I could finish the draft and issue it as a pull request for comments.
But I see 2 other issues: some people don't want to be associated with a doman, and current clients aren't always doing the right thing.