Hosted onsemillabitcoin.comvia 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 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.

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.

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