DROPS — Product Requirements

Confidential · HealthCentral Internal · reference copy
Feed Architecture

DROPS Feed Redesign

Version 1.0
Status Draft — Internal Review
Product Owner Jay Patel
Engineering Lead
Backend
Product Jay Patel
Date June 30, 2026

Confidential — HealthCentral Internal

Interactive wireframe

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.
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
Continue
What do you want to see?
Multi-select. Sets initial content weights. Unselected topics aren't excluded.
Questions to ask my doctor
Helpful tips & life hacks
Real patient stories
Latest treatments & research
Mental health & emotional support
Nutrition & lifestyle
Medication & side effects
Building my care team
Continue to My Journey
Crohn's ▾+ Add a condition (TBD)
vertical video · atomized content
@crohns_and_meFollow
Managing a flare at work — 3 things that help
2.1K
💬180
Save
Share
condition: Crohn'sstage: managing day-to-daysource: patient · verifiedHCP weight ~25%
Crohn's ▾
Is this feed feeling right for you?
Yes, keep goingTune it a bit
next video
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 JourneyPersonalized condition feed tuned to where the user is in their patient journey, refined by onboarding questions and ongoing feedback.
HCPA curated, medically reviewed feed of content exclusively from verified Healthcare Professionals for the user's selected condition(s).
FollowingA 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:

TabIcon ConceptDefault Tab
My JourneyTBDYes — opens on app launch
HCPTBDNo
FollowingTBDNo

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 LabelIntended Patient State
Just diagnosedNewly confirmed diagnosis, processing information, in shock or early research mode
Still figuring out treatmentActively navigating treatment options, switching medications, searching for what works
Managing day-to-dayStable on a treatment plan, focused on practical coping and daily quality of life
Looking for communityPrimarily seeking peer connection, shared experiences, emotional support
Advocating for myself or othersCaregiver, 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 CardMaps To
Questions to ask my doctorPatient-physician communication content, pre-appointment prep videos
Helpful tips & life hacksDay-to-day management, symptom coping strategies, practical advice
Real patient storiesFirst-person narrative content from verified patients and community members
Latest treatments & researchHCP-led or science-adjacent content, clinical trial coverage
Mental health & emotional supportContent addressing anxiety, depression, grief related to chronic illness
Nutrition & lifestyleCondition-relevant diet, exercise, and lifestyle content
Medication & side effectsEducation about common medications, managing side effects
Building my care teamContent 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

SignalTypeWeight Class
Journey stage matchExplicit user inputHigh
Topic preference matchExplicit user inputHigh
Watch completion ratePassive behavioralHigh
Save / bookmark / SAMEPassive behavioralMedium-High
Share actionPassive behavioralMedium
Skip / swipe away earlyPassive behavioralMedium (negative)
Condition tag matchContent metadataHigh (baseline filter)
Creator verification tierContent metadataMedium
RecencyContent metadataLow (freshness floor)
Explicit feedbackOptional user inputHigh 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

ScenarioBehavior
Feed runs out of eligible contentFeed shows a "Check back for new content soon" message with a CTA to restart the feed.

Success Metrics

MetricTargetNotes
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 topicMeasures onboarding quality
Feedback card engagement>20% interaction rate when shown
Skip rate<25% per sessionBenchmark 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.

SignalRole
Condition tag matchPrimary filter — must match user's condition(s)
RecencyPrimary sort — newer content weighted heavily
Creator followers and MAT scoreTiebreaker — based on save rate, completion rate across HCP feed
HC editorial picksHC-flagged 'featured HCP' content gets a +1 rank boost once per session

Edge Cases

ScenarioBehavior
Insufficient HCP content for conditionIf 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 statusContent immediately removed from HCP feed. Content remains on DROPS in other feeds unless separately removed.
User has no condition selectedHCP feed defaults to CHRONIC CONDITIONS AND MENS HEALTH AND WOMENS HEALTH HCP CONTENT

Success Metrics

MetricTargetNotes
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 launchContent team to build prior to launch
Creator verification pipeline48hr average credentialing timeOps 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

ScenarioBehavior
User follows a very high-volume accountNo content cap per followed account in Following. This is expected the user chose to follow them.
User changes condition selection post-registrationNew condition handle(s) are auto-followed. Old condition handle(s) remain followed — user must manually unfollow if desired.
Followed account is suspended or deactivatedAccount's content removed from Following immediately. User is not notified by default.
Followed account's content is flagged / under reviewFlagged content removed from all feeds including Following during review.
User has 0 posts in Following in last 7 daysSurfacing prompt in the app: 'Your Following feed has been quiet — discover more creators?' with soft link to suggested accounts.

Success Metrics

MetricTargetNotes
D1 Following feed opens>60% of new users open Following tab within first sessionAuto-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 daysSignal 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 feedMeasures 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?
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

ScenarioBehavior
Question never receives an answerRemains in the Open Questions list indefinitely. Whether unanswered questions expire or are archived after a set period is TBD.
Asker deletes their questionThe 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 answerThe answer is removed from the thread. Other answers on the thread are unaffected.
A question or answer is flagged and removed by moderationThe 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 removedThe card is pulled from feed rotation immediately; a replacement thread (per surfacing rules, TBD) takes its place.
User has never asked or answered a questionArchive shows an empty state prompting the user to ask or answer their first question.

Success Metrics

MetricTargetNotes
Drop-In hub weekly reachTBD% of MAU who open the Drop-In hub at least once per week
Questions posted per weekTBDVolume metric, tracked per condition
Answer rateTBD% of questions that receive at least one answer within 48 hours
Median time-to-first-answerTBD
Drop-In card engagement rateTBD% of My Journey sessions where the Drop-In card is swiped past the first answer
Anonymous posting rateTBD% of questions posted anonymously — monitor for anonymity abuse
Repeat asker/answerer rateTBD% 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
SAME
128
💬180
Save
Share
Same added. Want to join the conversation?
Join chat View others Continue 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.