Skip to content

feat(onboarding): persona-driven swipe onboarding#5991

Open
davidercruz wants to merge 4 commits intomainfrom
davidercruz/swipe-personas
Open

feat(onboarding): persona-driven swipe onboarding#5991
davidercruz wants to merge 4 commits intomainfrom
davidercruz/swipe-personas

Conversation

@davidercruz
Copy link
Copy Markdown
Contributor

@davidercruz davidercruz commented May 5, 2026

Changes

Combines the swipe onboarding flow (#5865) with the persona picker (#5939) and removes the user-facing free-text prompt. Users now pick up to three personas; the prompt sent to onboardingDiscoverPosts is built silently from the persona titles + tags + the user's experienceLevel from registration. The "Show popular posts" fallback is preserved for users who skip persona selection.

Implementation notes: PersonaSelector gains a mode: 'follow' | 'seed' prop so the swipe path can read the selection without batch-following tags upfront, and the pre-swipe panel is shared between FunnelSwipeOnboardingStep and the standalone /onboarding/swipe preview via a new SwipePersonaIntro component.

Events

Type event_name value
New `select onboarding persona` `target_type: 'persona'`, `target_id: `, `extra: { action: 'select' | 'deselect', tags_count, active_count }`

Experiment

Yes — the swipe flow remains gated by the existing swipe_onboarding GrowthBook flag (default true in code, controlled at the experiment level). No new experiment introduced in this PR.

Manual Testing

Caution

Please make sure existing components are not breaking/affected by this PR

On those affected packages:

  • Have you done sanity checks in the webapp?
  • Have you done sanity checks in the extension?
  • Does this not break anything in companion?

Did you test the modified components media queries?

  • MobileL (420px)
  • Tablet (656px)
  • Laptop (1020px)

Did you test on actual mobile devices?

  • iOS (Chrome and Safari)
  • Android

Preview domain

https://davidercruz-swipe-personas.preview.app.daily.dev

@vercel
Copy link
Copy Markdown

vercel Bot commented May 5, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
daily-webapp Ready Ready Preview May 6, 2026 10:40am
1 Skipped Deployment
Project Deployment Actions Updated (UTC)
storybook Ignored Ignored May 6, 2026 10:40am

Request Review

Combines the swipe onboarding flow with the persona picker and removes
the user-facing free-text prompt. Users now pick up to three personas;
the prompt sent to onboardingDiscoverPosts is built silently from the
persona titles + tags + the user's experienceLevel from registration.
The "Show popular posts" fallback is preserved.

- PersonaSelector gains a 'seed' mode that emits onSelectionChange
  instead of immediately following persona tags (the legacy 'follow'
  mode is unchanged for the EditTag flow).
- New buildSwipePrompt utility composes a deterministic prompt string
  from personas + experience level, with unit-test coverage.
- Shared SwipePersonaIntro component renders the pre-swipe panel for
  both the funnel step and the /onboarding/swipe preview.
- featureManagement.ts skip-listed for strict typecheck while the
  bundler-resolution / @growthbook exports issue is addressed
  separately.
Right-swipes (accepts) tick swipesCount toward the 10-post unlock; left
swipes still feed handleAdaptiveSwipe so the deck keeps learning the
dislike signal but no longer move the bar or trigger the milestone burst.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant