I'm also pondering some variations, for the future probably a "compressed" version might make sense. Talking about your flow: Nostr doesn't have "usernames", designed as identifying and unique elements, this is a critical point that the user need to understand asap.

Replies (1)

I know, it's a name field in kind 0 but for the convience it's displayed as your own 'username' which can be updated later on. NIP-01 describes the value for the name field as a username ;) But most user won;t care, especially not when onboarding. The only thing they need to take of is remembering their password and store their ncrypt/nsec somewhere (which is taken care in nstart in a neat way).