Spec-fidelity wireframe of the Feeds PRD on iOS. Greyscale on purpose. Dashed boxes are placeholder media, tagged chips are PRD data and rules. Walk the onboarding flow, switch feeds, and open the edge states. This is the base app surface — Drop-In and Same features layer on top of it later.
Onboarding flow
Feeds + states
9:41▮▮▮Wi-Fi
Which condition are you here for?
Search DROPS-supported conditions. Pick one to build a feed around.
🔍 Search conditions…
Crohn's disease
Chronic · IBD
Multiple sclerosis
Chronic · neurological
Migraine
Chronic
Breast cancer
Oncology
Type 2 diabetes
Chronic · metabolic
unsupported condition → waitlist (TBD)
Continue
Where are you in your journey?
Select all that apply. We'll use this to personalize your feed. Can't skip · one selection completes.
Just diagnosed
Processing, early research mode
Still figuring out treatment
Switching meds, finding what works
Managing day-to-day
Stable, practical coping
Looking for community
Peer connection, support
Advocating for myself or others
Caregiver, advocate
stored as user attribute · High-weight ranking signal
triggers after 20+ videos viewednon-blocking · dismissible"Tune it a bit" → stage + topic selectors
Crohn's ▾
Check back for new content soon
You've seen everything tagged to your condition right now.
Restart the feed
edge: feed runs out of eligible content
✚ Medically reviewedCrohn's ▾
vertical video · HCP only
Dr. Lena Ortiz, MDFollow
What biologics actually do for Crohn's
♥940
💬64
⌘Save
↗Share
verified=true · hcp_verified=truesort: recencyMD/DO → auto-eligiblebranded max 1 / 8
✚ Medically reviewedRare condition ▾
Check back for new content soon
Fewer than 10 HCP videos exist for this condition.
Restart the feed
edge: <10 HCP videos for condition
✚ Medically reviewedNo condition selected
default HCP mix
@heydrops_hcp
General chronic health guidance
default: chronic + men's health + women's health HCP content
Following
Reverse chronological. No ranking. Auto-seeded at registration.
@ChronicHealth
auto-followed · flagship editorial
Following
@HeyDrops
auto-followed · DROPS info handle
Following
@CrohnsHealth
auto-followed · condition handle
Following
newest post from followed accounts
strict reverse-chronologicalno per-account cap
Your Following feed is waiting for you.
Auto-follows haven't posted recently. Here are creators for your condition:
@gut_health_ginaFollow
@ibd_warriorFollow
@crohns_dietitianFollow
3–5 suggested accountsCTA → suggested creators / My Journey
Spec notes · current screen
Wireframe conventions: dashed box = placeholder video/media. Chip = PRD data or rule. Pill = user-controlled context. TBD marks anything the PRD leaves open. No Same button and no Drop-In card yet — this is the base Feeds surface those features attach to.
Overview
Context & Motivation
DROPS is retiring its current three-feed architecture (Following, For You, Explore) in favor of a redesigned navigation system purpose-built for chronic health patients. The new feeds are grounded in how patients actually experience health content not how general social platforms organize it.
The current feeds lack clinical intent-awareness, over-index on algorithmic novelty, and do not reflect the distinct information needs of patients at different stages of their health journey. The new architecture solves for this directly.
Feed Summary
Feed (NAMES TBD)
Core Purpose
My Journey
Personalized condition feed tuned to where the user is in their patient journey, refined by onboarding questions and ongoing feedback.
HCP
A curated, medically reviewed feed of content exclusively from verified Healthcare Professionals for the user's selected condition(s).
Following
A simple, chronological feed of content from accounts the user explicitly follows auto-seeded at registration with the relevant condition handle(s) and @ChronicHealth.
What is Retiring
Following (current) → replaced by the new Following feed (simplified, auto-seeded)
For You → replaced by My Journey (condition-aware, journey-stage personalization)
Explore → deprecated; discovery is now handled through Journey-tuned surfacing and the HCP feed
Navigation
The three feeds map to a persistent bottom or top tab bar in the app. Tab labels:
Tab
Icon Concept
Default Tab
My Journey
TBD
Yes — opens on app launch
HCP
TBD
No
Following
TBD
No
Feed 1 — My Journey
Purpose
My Journey is DROPS' primary feed and the default screen on app launch. It delivers a personalized video stream around the user's selected condition(s), shaped by where they are in their patient journey and what kind of content actually helps them. Unlike a general algorithmic feed, My Journey is intent-aware from day one and improves continuously through passive signals and optional explicit feedback.
Onboarding: Journey Stage Screen
Trigger
Displayed immediately after condition selection in the registration flow, before the main feed is shown. Cannot be skipped but can be completed with a single selection.
Prompt
"Where are you in your journey?" Select all that apply. We'll use this to personalize your feed.
Stage Options (Multi-Select) TBD
Option Label
Intended Patient State
Just diagnosed
Newly confirmed diagnosis, processing information, in shock or early research mode
Still figuring out treatment
Actively navigating treatment options, switching medications, searching for what works
Managing day-to-day
Stable on a treatment plan, focused on practical coping and daily quality of life
Looking for community
Primarily seeking peer connection, shared experiences, emotional support
Advocating for myself or others
Caregiver, patient advocate, or someone fighting for better care access
Multi-select is allowed. Selection is stored as a user attribute and used as a primary signal in the ranking model.
Select & Create a New Condition Feed TBD
In addition to selecting a journey stage, the onboarding flow needs a way for users to select which condition they're building a feed for, and to add another condition as a new, separate My Journey feed — either during initial onboarding or later on.
Trigger
Presented as part of the Journey Stage Screen at initial registration (before condition-specific stage options are shown), and re-accessible afterward via a "+ Add a condition" entry point from My Journey settings.
Proposed Flow
User is shown a searchable list of DROPS-supported conditions and selects one to build a My Journey feed around
Selecting a condition the user hasn't onboarded before creates a new, separate condition feed instance — the user then completes the Journey Stage and Topic Preference questions for that condition specifically
Newly created condition feeds are surfaced through the condition-feed toggle described in Condition Changes & Multi-Condition Users, letting the user switch which condition populates My Journey
Handling for conditions not yet supported on DROPS (e.g., a waitlist or request flow) is still to be defined
Screens are TBD and will be mocked up separately.
Onboarding: Topic Preference Questions TBD
Following stage selection, users see a second screen with topic cards. This screen is also multi-select and sets initial content weights for the feed.
Topic Options
Topic Card
Maps To
Questions to ask my doctor
Patient-physician communication content, pre-appointment prep videos
First-person narrative content from verified patients and community members
Latest treatments & research
HCP-led or science-adjacent content, clinical trial coverage
Mental health & emotional support
Content addressing anxiety, depression, grief related to chronic illness
Nutrition & lifestyle
Condition-relevant diet, exercise, and lifestyle content
Medication & side effects
Education about common medications, managing side effects
Building my care team
Content about specialists, second opinions, telehealth, advocacy
Topic selections are stored as weighted content categories. Unselected topics are not excluded — they start at a lower base weight and can surface over time.
Feed Behavior
Content Pool
All content on DROPS tagged to the user's selected condition(s)
Content sourced from verified patients, HC handles, HCPs, and community creators
HCP-only content is surfaced in My Journey at reduced weight — users wanting only HCP content should use the HCP feed
HCP content weight in My Journey: ~25% of feed composition at baseline
Ranking Signals
Signal
Type
Weight Class
Journey stage match
Explicit user input
High
Topic preference match
Explicit user input
High
Watch completion rate
Passive behavioral
High
Save / bookmark / SAME
Passive behavioral
Medium-High
Share action
Passive behavioral
Medium
Skip / swipe away early
Passive behavioral
Medium (negative)
Condition tag match
Content metadata
High (baseline filter)
Creator verification tier
Content metadata
Medium
Recency
Content metadata
Low (freshness floor)
Explicit feedback
Optional user input
High when present
Over-Personalization Guardrails
No single creator occupies more than 15% of a user's feed in any 24-hour window
Journey stage diversity: at minimum 2 stage categories must be represented in any 20-video sequence
Topic breadth floor: at least 3 distinct topic tags must appear in every 20-video sequence, even if one topic is heavily preferred
Freshness injection: 10% of each session must try to include content published within the last 72 hours if available
Ongoing Feedback Mechanism
After the user has viewed 20+ videos on My Journey, a lightweight feedback card surfaces in-feed (non-blocking, dismissible):
"Is this feed feeling right for you?" → [Yes, keep going] / [Tune it a bit]
If 'Tune it a bit': user is linked to the topic and stage selectors to update preferences
Condition Changes & Multi-Condition Users TBD
Feed contents reflect the user's current condition and stage configuration, not their configuration at signup. If a user adds or changes a condition or stage, existing preferences, HCP eligibility, auto-followed condition handles, and prior engagement history are not affected — nothing is automatically unfollowed. The new condition/stage instead surfaces new creators and content to consider following.
A condition-feed toggle is planned so users can control which of their conditions populates My Journey at a given time — screens are in progress and will be mocked up separately.
For multi-condition users, the balancing approach across conditions (equal rotation vs. primary condition vs. behavior-driven weighting) is still being defined and is expected to be resolved in tandem with the condition-feed toggle above, giving users more direct control rather than relying solely on an algorithmic weighting.
Edge Cases
Scenario
Behavior
Feed runs out of eligible content
Feed shows a "Check back for new content soon" message with a CTA to restart the feed.
Success Metrics
Metric
Target
Notes
D7 retention (My Journey viewers)
>45%
Baseline from For You feed: TBD at launch
Feed completion rate (session)
>60% of opened sessions end on video 3+
Topic preference set at onboarding
>70% of new users select at least 1 topic
Measures onboarding quality
Feedback card engagement
>20% interaction rate when shown
Skip rate
<25% per session
Benchmark vs. For You
Journey stage completion at reg
>85% of new users complete stage selection
Feed 2 — HCP
Purpose
The HCP Feed is a medically reviewed, condition-specific video feed surfacing content exclusively from verified Healthcare Professionals. It exists to give DROPS users a trusted, noise-free environment when they want authoritative clinical perspective — not peer stories or community tips. The HCP feed is the editorial anchor of DROPS' medical credibility.
Feed Eligibility: HCP Creator w Medically Reviewed Badge
Verification is handled through the onboarding flow and credentialing pipeline. The HCP feed only ingests content from accounts with verified = true and hcp_verified = true in the creator record.
Medical Review Layer
Content Review Requirement
All content appearing in the HCP feed must pass through at least one of the following before being eligible:
Auto-eligible: Creator is a verified MD/DO or NPI-confirmed specialist with our medically reviewed badge — content is HCP-feed eligible upon posting
Creator is a non-prescribing HCP (e.g., RD, LCSW) — content is reviewed by HC clinical team before HCP feed eligibility and medical review badge is granted
Feed Behavior
Content Pool
Only content from HCP-verified creators
Content must be tagged to the user's selected condition(s) — cross-condition HCP content not surfaced unless user has selected multiple conditions
Content from HC-owned HCP handles (verified HC editorial accounts) is always eligible
Promotional / branded content from pharma partners surfaced only if properly disclosed and reviewed — max 1 branded video per 8 in feed
Ranking Logic
The HCP feed is lightly ranked (not deeply personalized). The goal is freshness + relevance, not behavioral optimization.
Signal
Role
Condition tag match
Primary filter — must match user's condition(s)
Recency
Primary sort — newer content weighted heavily
Creator followers and MAT score
Tiebreaker — based on save rate, completion rate across HCP feed
HC editorial picks
HC-flagged 'featured HCP' content gets a +1 rank boost once per session
Edge Cases
Scenario
Behavior
Insufficient HCP content for condition
If fewer than 10 HCP videos exist for a condition, feed shows a "Check back for new content soon" message with a CTA to restart the feed
HCP creator loses verification status
Content immediately removed from HCP feed. Content remains on DROPS in other feeds unless separately removed.
User has no condition selected
HCP feed defaults to CHRONIC CONDITIONS AND MENS HEALTH AND WOMENS HEALTH HCP CONTENT
Success Metrics
Metric
Target
Notes
HCP feed MAU / Total MAU
>40% of active users open HCP tab at least once per week
Save rate on HCP content
>8%
Benchmark vs. My Journey save rate
Medical inaccuracy flag rate
<0.5% of HCP feed impressions
HCP content volume (per condition)
>30 videos per active condition at launch
Content team to build prior to launch
Creator verification pipeline
48hr average credentialing time
Ops metric
Feed 3 — Following
Purpose
Following is a simple, unalgorithmic feed. It shows content — in reverse chronological order — from every account the user explicitly follows. No ranking model. No personalization layer. Users control the feed entirely through who they choose to follow.
This feed exists because some DROPS users want agency over their experience. They've found creators who speak to them and want an unfiltered window into that content without algorithmic interference.
Auto-Follow at Registration
To ensure Following is useful from day one — rather than an empty feed — the registration flow automatically follows two account types on behalf of the user:
1. Condition Handle(s)
At registration, the user is automatically followed into the handle(s) matching their selected condition(s)
If a user selects multiple conditions, all matching handles are auto-followed
2. @ChronicHealth and @HeyDrops
@ChronicHealth and @HeyDrops are DROPS' flagship editorial handle — a cross-condition account covering chronic illness broadly and a DROPS information handle
All new users are auto-followed into @ChronicHealth and @HeyDrops at registration, regardless of condition selection
Auto-Follow UI Copy "We've set up your Following feed. You're now following @ChronicHealth and @[ConditionHandle]. Follow more creators to keep building it."
Feed Behavior
Ordering
Strict reverse chronological — newest content from followed accounts appears first
No ranking model applied
No personalization signals used
Content type (video, repost) displayed as-is
Empty State
If a user has no followed accounts beyond auto-follows, and those accounts have not posted recently, the Following feed shows:
'Your Following feed is waiting for you.' message with a CTA to explore creators
3-5 suggested accounts surfaced below the empty state, drawn from top creators for the user's condition
CTA links to the suggested creator feature (future feature) or to the My Journey feed
Edge Cases
Scenario
Behavior
User follows a very high-volume account
No content cap per followed account in Following. This is expected the user chose to follow them.
User changes condition selection post-registration
New condition handle(s) are auto-followed. Old condition handle(s) remain followed — user must manually unfollow if desired.
Followed account is suspended or deactivated
Account's content removed from Following immediately. User is not notified by default.
Followed account's content is flagged / under review
Flagged content removed from all feeds including Following during review.
User has 0 posts in Following in last 7 days
Surfacing prompt in the app: 'Your Following feed has been quiet — discover more creators?' with soft link to suggested accounts.
Success Metrics
Metric
Target
Notes
D1 Following feed opens
>60% of new users open Following tab within first session
Auto-follow ensures non-empty state
Organic follow rate (beyond auto-follows)
>2 additional follows per new user within first week
Unfollow rate on auto-follows
<20% of users unfollow @ChronicHealth within 30 days
Signal of auto-follow quality
Following MAU / Total MAU
>50% of users open Following at least once per week
Creator discovery from Following
>15% of new follows originate from Following feed
Measures organic discovery
Community Q&A
Drop-In
Version 1.0
Status Draft — Internal Review
Product Owner Jay Patel
Engineering Lead —
Backend —
Product Jay Patel
Date July 7, 2026
Confidential — HealthCentral Internal
Interactive wireframe
Same Feeds base app, with the Drop-In layer added on top. Anything Drop-In adds to the Feeds surface is marked Drop-In. Walk the ask and answer flows, swipe the in-feed card, and open the hub and archive.
On the feed · Feeds base + Drop-In
Drop-In hub
9:41▮▮▮Wi-Fi
Crohn's ▾? Drop-In
DROP-IN
DROP-INCommunity Q&A · Crohn's
Question
How do you handle a flare-up when you're travelling for work?
Answer 1 of 3 · @ibd_warrior
I pre-pack safe snacks and always map bathrooms before meetings.
Answer 2 of 3 · @gut_health_gina
Call ahead to the hotel and ask for a room near the elevator.
Swipe →‹›
normal My Journey video below the card
card = first item in My Journeysurfacing + cadence: TBD
Crohn's ▾? Drop-In
feed dimmed behind sheet
My Journey
Following
HCPs
?Drop-In
Drop-In
Ask, answer, and revisit community Q&A.
Looking for answers from others?
Drop a question
Open Questions12 waiting ›
Drop Archive8 threads ›
reached from feed switcherpersistent Drop-In pill in MJ header
Drop a question
Tag a topic
Crohn'sMigraineAnxietyMenopauseCaregivingBurnout
Ask anonymously
Choose a format
Record video
Write a card
Take a photo
Optional caption or question text…
Send your question
Open Questions
12 waiting for an answer
Crohn'sAnonymous · 2h ago
Did anyone's fatigue improve after switching biologics?
question video
0 answersDrop an answer
Caregiving@mara_k · 5h ago
How do you avoid burnout caring for a partner with a chronic illness?
0 answersDrop an answer
Drop an answer
Crohn's · replying to a question
Choose a format
Record video
Upload photo
Optional caption…
Submit answer
Drop Archive
Everything you've asked or answered · 8 threads
AllCrohn'sMigraine
How do you handle a flare while travelling?
You asked · 3 answers
›
Best apps for tracking symptoms?
@you answered · migraine
›
Talking to your boss about your diagnosis
You asked · 5 answers
›
grouped / filterable by conditionarchived threads still answerable
Thread
Crohn'sYou asked · 3 answers
How do you handle a flare-up when you're travelling for work?
@ibd_warrior · 2h
I pre-pack safe snacks and map bathrooms before meetings.
@gut_health_gina · 1h
Call ahead to the hotel and ask for a room near the elevator.
@crohns_dietitian · 40m
A low-residue day before travel really helps me.
Drop an answer
Drop Archive
Nothing here yet
Ask or answer your first question to start your archive.
Drop a question
Spec notes · current screen
The dashed teal outline marks what Drop-In adds on top of the Feeds base: the header pill, the switcher entry, and the in-feed card. Everything else is the Feeds surface unchanged.
Overview
Context & Motivation
Drop-In is a community question-and-answer feature for DROPS. Users ask short, condition-tagged questions as video, photo, or text-card posts; other users answer with their own short video or photo responses; and the strongest threads can surface as a swipeable Q&A card directly in the My Journey feed.
It gives people a way to get real, lived-experience answers from others further along in a similar journey — without leaving the feed, and without needing an existing following relationship with the person who answers.
What It Is
A dedicated hub, reached from the feed switcher, for asking and answering short-form video/photo/text Q&A
A personal archive of every thread a user has started or answered, filterable by condition
A new card type in the My Journey feed — badged "Drop-In" — that surfaces a featured thread as a swipeable stack of question + answers
Drop-In Hub
Purpose
The hub is a separate area from the video feeds, dedicated entirely to community Q&A. It has three jobs: let someone ask a question, let someone answer an open question, and give each person an archive of their own question-and-answer history.
Entry Points
Feed switcher — "Drop-In" appears as an option in the same dropdown menu used to switch between My Journey, Following, and HCPs, marked with a question-mark icon in the app's mint accent color
Persistent shortcut — a "Drop-In" pill is shown in the My Journey header at all times, giving a one-tap way back into the hub without opening the feed switcher
Hub Layout
Hero card — "Looking for answers from others?" with a primary "Drop a question" CTA
Open Questions — a list of threads with no answers yet, with a count of how many are waiting
Drop Archive — every thread the person has started or answered, with a total thread count
Ask a Question Screen
Trigger
Tapping "Drop a question" from the hub hero card, or the same entry point surfaced elsewhere in the app (e.g., empty states).
Flow
Tag a topic — select the condition or topic the question is about. Options include the user's own conditions (e.g., Migraine, Crohn's) as well as broader cross-cutting topics (e.g., Anxiety, Menopause, Caregiving, Burnout, Recovery, Sobriety)
Ask anonymously — optional toggle; when enabled, the question is posted without the user's handle visible to other users
Choose a format:
Record a video — use the camera to record a short clip
Write it out on a card — text over a styled background
Take a photo — a single still frame
Add an optional caption or question text
Submit via "Send your question" — the button is disabled until a topic tag and a question format have been provided
After Posting
The question appears in the Open Questions list in the hub immediately. If it meets feed eligibility rules, it can additionally surface as a Drop-In card in the My Journey feed (see Feed Surfacing & Ranking, below).
Answer a Question Screen
Open Questions List
The hub surfaces every open (unanswered) question as a card showing:
Topic/condition tag
Who asked it (or an anonymous indicator)
How long ago it was posted
The question media (video thumbnail with play control, photo, or text card)
Current answer count
A "Drop an answer" call to action
Answer Composer
Tapping "Drop an answer" opens the answer composer, where the person records or uploads their own short video or photo response, adds an optional caption, and submits.
After Answering
The answer attaches to that question's thread. A thread with at least one answer is considered answered/complete for the purposes of the Open Questions list (it no longer appears there), but the thread remains open to receive additional answers from other users afterward.
Archive Screen
Purpose
The Drop Archive collects every thread the person has started or answered, so they can find their own questions and answers again later.
Behavior
Threads are grouped/filterable by condition, so a user can view just their Crohn's threads, their migraine answers, or everything across conditions
Each entry previews the original question alongside its answers, shown as indented, reply-style rows crediting each answerer ("@you" for the viewer's own posts)
Tapping into a thread shows the full question, an answer count, and every answer in order with author handle, time posted, and media
"Drop an answer" remains available from the full thread view — archived threads can still receive new answers
Unanswered questions remain in the Open Questions list (not the archive) until someone responds
Drop-In Card in My Journey Feed
Purpose
A featured Drop-In thread can appear as a card in the My Journey feed, letting someone drop into an ongoing conversation and quickly browse multiple perspectives on the same question without leaving the feed.
Placement
The Drop-In card appears as the first item in the My Journey feed, mixed in above the normal video posts. It inherits the same feed chrome (condition chips, feed switcher) as any other My Journey content.
Anatomy
A small "Drop-In" badge marks the card as community Q&A rather than a regular video post
The first slide shows the question and an initial answer
Swiping right reveals additional answers, one at a time, like turning cards in a deck
A row of dots indicates which answer is currently showing
A "Swipe →" affordance is shown to prompt the interaction
Feed Surfacing & Ranking TBD
Which thread gets featured as the My Journey Drop-In card, and how often a new one is surfaced, is not yet defined. Candidate signals to evaluate:
Condition match to the viewer's selected condition(s)
Minimum answer count threshold before a thread is eligible to feature
Recency of the question and/or its most recent answer
Engagement on existing answers (views, reactions)
Cadence — how often a Drop-In card appears per session, and whether it's the same thread for every viewer or personalized per user
Moderation & Safety
Drop-In involves open community contributions and anonymous posting, so it needs its own moderation controls:
Users can flag a question or an answer for review
Anonymous posting hides the asker's handle from other users but is retained internally for moderation and accountability
HC moderators can remove a question or an individual answer that violates community guidelines
Edge Cases
Scenario
Behavior
Question never receives an answer
Remains in the Open Questions list indefinitely. Whether unanswered questions expire or are archived after a set period is TBD.
Asker deletes their question
The question and its thread are removed from the hub and from the archive. Whether existing answers are deleted, preserved, or reassigned is TBD.
Answerer deletes their own answer
The answer is removed from the thread. Other answers on the thread are unaffected.
A question or answer is flagged and removed by moderation
The item is removed from Open Questions, the Archive, and, if applicable, pulled from any My Journey Drop-In card rotation immediately.
A thread currently featured as a My Journey Drop-In card is deleted or its question is removed
The card is pulled from feed rotation immediately; a replacement thread (per surfacing rules, TBD) takes its place.
User has never asked or answered a question
Archive shows an empty state prompting the user to ask or answer their first question.
Success Metrics
Metric
Target
Notes
Drop-In hub weekly reach
TBD
% of MAU who open the Drop-In hub at least once per week
Questions posted per week
TBD
Volume metric, tracked per condition
Answer rate
TBD
% of questions that receive at least one answer within 48 hours
Median time-to-first-answer
TBD
Drop-In card engagement rate
TBD
% of My Journey sessions where the Drop-In card is swiped past the first answer
Anonymous posting rate
TBD
% of questions posted anonymously — monitor for anonymity abuse
Repeat asker/answerer rate
TBD
% of Drop-In participants who ask or answer more than once
Feed Action + Micro-community
Same Feature
Source: generated from call recording & prototype video, not authored by the client. Validate with Jay before building.
Below is the rewritten Same product requirements spec, updated to reflect the visual prototype.
The key change from the earlier version: in the prototype, Same appears as a right-side video action icon — visually positioned between Like and Comment — using a three-overlapping-circles icon with a count beneath it. So the requirement should treat Same first as a feed-native social action, not as a separate destination-first feature. The downstream chat/community experience still comes from Jay's spoken explanation.
Interactive wireframe
Same Feeds base app, with the Same layer on top. What Same adds is marked Same. Tap the Same button on the rail to see the active state, count, and toast, then follow it into the chat, the people list, and the activity surface. Tap it again to undo.
On the feed · Feeds base + Same
Same surfaces
9:41▮▮▮Wi-Fi
Same appears across all feeds
@ms_and_meFollow
MS at 28. Crying in my car, then back to the meeting.
♥2.1K
SAME128
💬180
⌘Save
↗Share
Same added. Want to join the conversation?
Join chatView othersContinue watching
between Like and Commentthree overlapping circlescount = unique userstap again = undo
‹ Same chat
@ms_and_me
MS at 28. Crying in my car…
anchored to this video
You and 128 others tapped Same on this video
@quiet_warrior
This was me last spring. You're not alone.
@one_day_at_a_time
The car cry then straight back in. Exactly it.
LeaveMuteReport
Message…Send
‹ Others who tapped Same
128 people. Private and blocked profiles aren't shown.
@quiet_warrior
MS · managing day-to-day
Follow
@one_day_at_a_time
MS · still figuring out treatment
Follow
@rewired_brain
MS · advocating
Follow
follow works via existing profile systemvisibility subject to privacy rules
Activity
AllSameLikesComments
@ms_and_me
MS at 28. Crying in my car…
128 Same · new activity in chat
Undo
@crohns_and_me
Managing a flare at work
54 Same · chat quiet
Undo
@rare_but_here
Getting the diagnosis after 6 years
312 Same · no chat yet
Undo
lives near Activity · dedicated tab vs sub-tab TBD
Activity
AllSameLikesComments
When something feels exactly like your experience, tap Same. Your Same videos and conversations will appear here.
Spec notes · current screen
The dashed magenta ring marks the one thing Same adds to the Feeds rail: the button between Like and Comment. Everything the button leads to — chat, people, activity — is new surface, but the entry point is a single feed-native action on the base app.
1. Feature Summary
Same is a feed-level social action that allows a user to say:
"This exact experience happened to me too."
In the prototype, Same appears directly in the vertical video feed as a right-side action button, alongside other familiar engagement actions:
Creator profile / follow
Like
Same
Comment
Save
Share
The Same icon is visually represented as three overlapping circles, with a numeric count below it showing how many users have marked that video as Same.
When a user taps Same, the app should capture a high-intent lived-experience signal, associate the user with that video, and connect them to a chat/community of other users who marked Same on the same video.
2. Product Goal
The goal of Same is to convert emotional recognition in the feed into meaningful community connection.
Same should help users move from passive resonance:
"I relate to this."
to active connection:
"Other people have been through this exact thing too, and I can talk to them."
3. Primary User Problem
Users watching condition-related videos often see content that closely mirrors their own lived experience. Existing actions like Like, Save, Comment, or Share do not clearly communicate:
"This happened to me too."
"I want to see who else experienced this."
"I want to join a conversation around this specific shared moment."
Same fills that gap.
4. Prototype-Based UX Context
The prototype shows Same living inside the main vertical video experience.
Feed layout observed
The video feed includes:
Full-screen vertical video
Feed selector at the top, such as Following, My Journey, or HCPs
Right-side engagement rail
Bottom navigation with Home, Discover, central create button, Activity, and Profile
Same placement
Same appears on the right-side action rail:
Profile / follow control
Like button
Same button
Comment button
Save button
Share button
This means Same should be treated as a first-class engagement action, equivalent in importance to Like or Comment.
5. Core User Story
As a user watching a video, I want to tap Same when the video describes something that happened to me too, so that I can save that shared experience, see that others felt the same, and join a conversation with people who understand it.
6. Example Scenario
A user is scrolling the feed and sees a video from a creator describing:
"MS at 28. Crying in my car, then back to the meeting."
The user had that same experience recently.
The user taps the Same icon.
After tapping Same:
The Same icon changes to an active state.
The Same count increments.
The video is added to the user's Same activity.
The user is invited into, or given access to, a chat connected to that video.
The user can see other people who also tapped Same.
The user may follow those people or participate in the shared conversation.
7. Functional Requirements
FR1 Display Same Button in Video Action Rail
The system shall display the Same button on eligible videos in the right-side action rail.
Requirements
Same should use the prototype's three-overlapping-circles icon.
Same should appear below Like and above Comment.
Same should display a count beneath the icon.
Same should be visible on vertical feed videos across eligible feed types, including Following, My Journey, HCPs, and other relevant content surfaces.
Same should maintain visual parity with Like, Comment, Save, and Share.
Acceptance Criteria
User can clearly identify Same as an actionable icon.
Same appears in the same location across eligible video feeds.
Same count is visible below the icon.
Same does not interfere with Like, Comment, Save, or Share actions.
FR2 Tap Same
The system shall allow a logged-in user to tap Same on a video.
Requirements
When a user taps Same:
Create a Same event.
Change the Same icon to an active/selected state.
Increment the Same count by one.
Associate the user with the video's Same community.
Add the video to the user's Same-related activity.
Trigger the appropriate notification/chat invitation logic.
Acceptance Criteria
Tapping Same provides immediate visual feedback.
Same count updates.
User cannot create duplicate Same records for the same video.
Same state persists if the user leaves and returns to the video.
Same state is reflected anywhere else the video appears.
FR3 Same Count
The system shall display the number of users who have tapped Same on a video.
Requirements
Count appears directly below the Same icon.
Count should follow the same formatting pattern as other engagement counts, such as 446, 2.1K, 89.3K, etc.
Count should represent unique users, not total taps.
If the user removes Same, the count should decrement.
Acceptance Criteria
Same count is accurate.
Same count updates after user action.
Count formatting is consistent with the rest of the feed UI.
FR4 Active and Inactive Same States
The system shall visually distinguish whether the current user has already tapped Same on a video.
Requirements
Inactive state:
White outline icon, consistent with the prototype's feed action style.
Active state:
Visually distinct selected state.
Active state should be consistent with the app's existing interaction language.
Open design question:
Should the active Same icon use green, filled white, animation, or another visual treatment?
Acceptance Criteria
User can tell whether they have already tapped Same.
Active state persists across sessions.
Same state remains consistent across feeds and video detail views.
FR5 Undo Same
The system shall allow the user to remove Same from a video.
Requirements
When a user untaps Same:
Mark the Same event inactive or remove it.
Decrement the Same count.
Remove the video from the user's Same list, unless separately saved.
Determine whether the user remains in the Same chat.
Acceptance Criteria
User can undo Same with a second tap or through an overflow/action control.
UI returns to inactive Same state.
Same count updates correctly.
System behavior for related chat membership is defined before launch.
FR6 Same Event Capture
The system shall create a structured Same event whenever a user taps Same.
Same Event Data
Each Same event should include:
same_id
user_id
video_id
creator_id
created_at
status: active / removed
source_feed, such as Following, My Journey, HCPs, Drop-In, etc.
condition_id, if available
topic_id, if available
journey_stage_id, if available
chat_id, if associated
Acceptance Criteria
Same events are stored reliably.
Events can be used for activity, notifications, analytics, and future personalization.
Same events do not duplicate for the same user/video pair.
FR7 Same Activity Surface
The system shall provide a way for users to revisit videos and conversations where they tapped Same.
Jay described this as a dedicated Same tab near Activity. The prototype already includes Activity in the bottom navigation, so Same should either live inside Activity or as a nearby sub-tab/section.
Requirements
The Same activity surface should show:
Videos the user marked Same
Creator name
Video thumbnail
Video caption snippet
Same count
Chat status
Unread activity indicator, if applicable
Entry point into the related Same chat
Acceptance Criteria
User can find all videos they marked Same.
User can enter the related Same chat from this surface.
User can see whether there is new activity.
User can remove Same from this surface if needed.
FR8 Same Chat / Community
The system shall associate a Same-enabled video with a chat or community space.
Requirements
When a user taps Same:
If a Same chat already exists for the video, the user should be invited to or added to that chat.
If no Same chat exists, the system should create one or prepare one depending on the launch rule.
The Same chat should remain anchored to the original video.
Users in the chat should share the context that they all tapped Same on the same video.
Acceptance Criteria
User can access a chat connected to the video they marked Same.
Chat includes a reference back to the original video.
Users can participate in the conversation.
Users can leave, report, or mute the chat.
FR9 Same Chat Invitation
The system shall notify or prompt users that tapping Same gives them access to a shared conversation.
Requirements
After tapping Same, the user should receive a lightweight confirmation such as:
Added to Same. Join the conversation with others who experienced this too.
Possible actions:
Join chat
Not now
View others
Continue watching
Acceptance Criteria
User understands what happened after tapping Same.
User can continue scrolling without being forced into chat.
User can access the Same chat later from Activity/Same.
FR10 People Discovery from Same
The system shall allow users to discover other people who marked the same video as Same, subject to privacy and safety rules.
Requirements
From the Same experience, users should be able to:
See a preview or list of other users who tapped Same.
View user profiles.
Follow users.
Enter the shared chat.
Acceptance Criteria
User can discover people with shared lived experiences.
Blocked or private users are not exposed improperly.
Follow actions work consistently with the existing profile/follow system.
FR11 Same Notifications
The system shall support Same-specific notifications using existing notification infrastructure where possible.
Notification Types
Potential Same notifications include:
You've been invited to a Same chat.
Someone joined a Same chat you are in.
Someone commented in a Same chat.
Someone replied to your message in a Same chat.
A video you marked Same is getting more Same activity.
Someone you follow also marked this video as Same.
Acceptance Criteria
Same notifications deep-link to the correct video or chat.
Same notifications respect user notification preferences.
Notifications do not overwhelm users.
Same notification logic is separate from Like, Comment, and Save notifications.
8. MVP Scope
The MVP should include:
Same icon in the right-side video action rail.
Same count beneath the icon.
Active/inactive Same state.
Ability to tap and untap Same.
Same event capture.
Same activity surface.
Same chat association.
Same chat invitation or entry point.
Basic Same notifications.
Basic analytics.
Basic privacy and moderation handling.
9. Out of Scope for MVP
The following should be considered post-MVP unless specifically prioritized:
Same-based feed ranking.
Same-based recommendation model.
Public Same user lists without privacy controls.
Creator analytics dashboard for Same.
Braze lifecycle campaigns.
Advanced Same clustering across multiple videos.
Same communities that exist independently of a video.
A/B testing multiple Same labels.
Anonymous Same mode.
10. UX Requirements
Same Button
The Same icon should remain visually consistent with the prototype:
White icon on video
Numeric count underneath
Positioned between Like and Comment
Uses the three-overlapping-circles visual language
Tap Feedback
When a user taps Same, the UI should provide immediate confirmation.
Potential feedback:
Icon animates or fills
Count increments
Small toast appears
Optional bottom sheet appears with chat invitation
Recommended toast:
Same added. Want to join the conversation?
Same Chat Entry
The user should not be forcibly removed from the feed after tapping Same.
Recommended behavior:
User taps Same.
Confirmation appears.
User can keep scrolling.
User can optionally open the Same chat immediately.
User can find the Same chat later in Activity/Same.
Same Activity Empty State
If a user has not tapped Same yet:
When something feels exactly like your experience, tap Same. Your Same videos and conversations will appear here.
11. Privacy Requirements
Same is sensitive because it may imply a user has experienced a health-related or personal situation.
Requirements
Do not expose a user as having tapped Same unless visibility rules allow it.
Do not show Same participation to blocked users.
Respect private profiles.
Allow users to leave Same chats.
Consider whether Same should default to private participation until the user posts in chat.
Make it clear if joining a Same chat makes the user visible to others.
12. Moderation Requirements
Same chats should inherit existing chat/community moderation tools.
Requirements
Users should be able to:
Report a message.
Report a user.
Block a user.
Leave a chat.
Mute notifications.
Hide or remove themselves from a Same community.
Admins/community managers should be able to:
Review reported Same chats.
Remove unsafe messages.
Disable a Same chat if needed.
Handle deleted or moderated source videos.
13. Analytics Requirements
Track the following events:
same_icon_viewed
same_tapped
same_removed
same_count_incremented
same_chat_prompt_viewed
same_chat_joined
same_chat_opened
same_chat_message_sent
same_activity_opened
same_user_followed
same_notification_sent
same_notification_opened
14. Success Metrics
Primary metrics:
Same taps per video view
Same tap rate by feed type
Same chat join rate
Same chat participation rate
Return rate after tapping Same
Follow rate from Same-related discovery
Retention lift among users who tap Same versus users who only like/save/comment
Secondary metrics:
Average Same count per video
Percentage of videos with at least one Same
Same notifications opened
Same chats with at least one message
Same chats with repeat engagement
Videos with high Same-to-like ratio
15. Open Questions
Does tapping Same automatically add the user to the chat, or does it only invite them?
Is Same participation visible to other users by default?
Should users be able to tap Same privately?
Should the Same count be public on all videos?
What happens if a user removes Same after joining the chat?
Should Same chats be created after the first Same tap or after a minimum threshold?
Should creators be notified when users tap Same?
Should Same influence feed personalization in MVP?
Should Same be available on HCP content, patient content, Drop-In content, or all content?
What should the active Same icon look like?
Should the label "Same" appear anywhere in the UI, or is the icon-only treatment enough?
Should Same activity live inside Activity, or should there be a dedicated Same tab?
16. Recommendation
Treat Same as a feed-native engagement action first and a community activation feature second.
The prototype makes Same feel like a core social behavior, not a separate feature buried elsewhere. The MVP should preserve that simplicity:
User sees video → taps Same → count updates → video is saved to Same → user can join a conversation with others who experienced it too.
That is the cleanest product spine for the feature.