Hosted onhoraciohdev.dev.hyper.mediavia theHypermedia Protocol

✅ As a User, I want to join a site with my existing accountAs a user who already has a Hypermedia identity, I want to join a site from the browser so that I can participate in it.

Design


Acceptance Criteria

Entry & join trigger

    A Join button is visible in the site top bar when the user is not yet a member

    Tapping Join opens a modal within the site context.

    When a user tries to comment, follow, or bookmark, the same flow starts.

    The modal shows the site name (Ethosfera), explains it is built with Seed Hypermedia, and offers two options: Create identity or Already have a Hypermedia identity

    A third low-commitment option is visible: "I have a different identity domain"

    Tapping "Already have a Hypermedia identity" takes the user to the sign-in flow


Sign in — email

    The sign-in screen is branded as Seed Hypermedia — distinct from the site UI

    The headline reads "Sign in to join [site name]" — the goal stays visible

    Email field is required and validates correct format before submission

    Submitting a valid email advances to the passkey screen



Sign in — passkey

    The passkey screen shows the email the user is signing in as

    Primary action is "Sign in with passkey" using device biometrics or PIN

    A fallback "Use another email" option is available

    Successful passkey confirmation advances to the join confirmation screen


Join confirmation

    The join confirmation screen shows the user's name and email so they can verify which identity they are joining with

    Copy changes depending if it is one account or +1 account.

    Primary CTA is "Continue as <account> which joins the site and returns the user to the site as a member


Joined state

    The Join button disappears from the top bar

    The user's avatar appears in the top bar

    The comment and participation areas become active

    A confirmation alert appears: "You've joined [site name] — you can now comment and participate" and auto-dismisses after ~3 seconds




Remove this step please if there is no more that one account!

Basic Flow

    User arrives at Ethosfera as a guest and sees the Join button

    User taps Join — modal opens within the site

    User taps "Already have a Hypermedia identity"

    User enters email linked to their Seed identity

    User taps Continue — advances to passkey screen

    User confirms with passkey (Face ID, Touch ID, or PIN)

    Join confirmation screen shows name and email

    User taps "Start participating" — joined

    Returns to site as member — Join button gone, avatar visible, comment area active

    Confirmation alert appears and auto-dismisses


Edge Cases

Email

    ⚠️ Invalid email format → inline error: "That doesn't look like a valid email. Check for typos and try again." Button disabled until fixed

    ⚠️ Email not linked to any Seed identity → error with option to create one instead: "No Seed identity found for this email. Want to create one?"

    ⚠️User enters email from a different domain/site → redirect to "I have an identity from another site" path

Passkey

    ⚠️ Passkey fails or is cancelled → returns to passkey screen with retry option and "Send a verification code instead" fallback

    ⚠️Device doesn't support passkey → verification code fallback offered automatically

    ⚠️User taps "Use another email" → returns to email screen, previous entry cleared

Navigation

    ⚠️User closes the modal mid-flow → returns to site as guest, no partial state created

    ⚠️User presses browser back mid-flow → returns to previous step without losing email entry



When user comes from commenting:


Do you like what you are reading? Subscribe to receive updates.

Unsubscribe anytime