Hosted onhyper.mediavia theHypermedia Protocol

US-2.1. As a user who already has a Seed identity, I want to join a site from the browser so that I can participate in it without having to create a new account.

US-2.2. As a user who already has a Seed identity, I want to join a site from the app so that I can participate in it without having to create a new account.

US-2.1.

As a user who already has a Hypermedia identity, I want to join a site from the browser so that I can participate in it without having to create a new account.

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.

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 an identity from another site"

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

  • Primary CTA is "Start participating" β€” one tap, no further steps

  • A "Not now β€” keep reading" option is available

  • Tapping "Start participating" 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

This step is not necessary, user already did the other steps to confirm sign in. Remove!

Basic Flow

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

  2. User taps Join β€” modal opens within the site

  3. User taps "Already have a Hypermedia identity"

  4. User enters email linked to their Seed identity

  5. User taps Continue β€” advances to passkey screen

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

  7. Join confirmation screen shows name and email

  8. User taps "Start participating" β€” joined

  9. Returns to site as member β€” Join button gone, avatar visible, comment area active

  10. 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

US-2.2.

As a user who already has a Seed identity who has a local identity, I want to join a site from the app so that I can participate in it without having to create a new account.

I show preselected the account I have by default.

Review!!!! 🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨 There is another scenario here. If you already have an account created on browser you need to go to browser/hypermedia enviroment to add email/passkey...

As a user who already has a Seed identity who has a remote identity, I want to join a site from the app so that I can participate in it without having to create a new account.

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

Unsubscribe anytime