Social Features

Design Philosophy

Privacy by Default

The Convergence Protocol’s social features are built on a foundation of radical privacy and user control:

  • All social features are OPT-IN: No social functionality is enabled without explicit, informed consent
  • Default state: completely private: New users start with maximum privacy; they must actively choose to share
  • No data shared without explicit consent: Every piece of shared data requires user approval
  • Can disable anytime, data deleted: Users can exit social features at any moment, with complete data removal

Privacy Promise: We will never:

  • Import contacts without permission
  • Share data with third parties
  • Use social data for advertising
  • Make any information public by default

Positive Psychology

Our social features are designed around principles of positive psychology and behavioral science:

  • No shame, no guilt: Never make users feel bad for missing a day or falling behind
  • Comparison is for motivation, not competition: Show relative progress to inspire, not to create anxiety
  • Celebrate progress, not perfection: Acknowledge effort and consistency over flawless execution
  • Supportive community over competitive leaderboard: Foster connection and mutual support rather than zero-sum competition

Psychological Safety Principles:

  • Frame comparisons as β€œinspiration” not β€œranking”
  • Highlight personal growth over relative standing
  • Normalize struggle and setbacks as part of the journey
  • Celebrate the act of beginning, not just completing

Minimal Friction

Social features should enhance the meditation experience without becoming the focus:

  • Simple friend connections: One-tap invites, no complex friend management
  • No complex social graph: No followers, no influence scores, no social hierarchy
  • Easy sharing, easy opting out: Share in two taps; disable social features in one
  • Focus on the journey, not the platform: Social features support the meditation practice, not vice versa

Feature Overview

1. Share Progress

Share Card

A beautifully designed, branded shareable image that users can post to social media or share directly.

Visual Design:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                             β”‚
β”‚    [Convergence Protocol    β”‚
β”‚         Logo/Icon]          β”‚
β”‚                             β”‚
β”‚      "Day 23 of 40"         β”‚
β”‚                             β”‚
β”‚    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”      β”‚
β”‚    β”‚   [Streak Icon] β”‚      β”‚
β”‚    β”‚   12-Day Streak β”‚      β”‚
β”‚    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β”‚
β”‚                             β”‚
β”‚    "The Mirror Stage"       β”‚
β”‚                             β”‚
β”‚  "The obstacle is the       β”‚
β”‚        path."               β”‚
β”‚         β€” Zen Proverb       β”‚
β”‚                             β”‚
β”‚  [QR Code: Join the Journey]β”‚
β”‚                             β”‚
β”‚  convergenceprotocol.io     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Card Elements:

  • Day counter (X of 40) with visual progress indicator
  • Current streak count with flame or similar icon
  • Current day’s theme/title
  • Quote from today’s meditation content
  • Subtle branding and link
  • Optional: QR code for easy joining

Card Variants:

  • Milestone Cards: Special designs for Days 7, 14, 21, 30, 40
  • Streak Cards: Celebrate streak achievements (7, 14, 21, 30, 40 days)
  • Completion Card: Special design for Day 40 finishers with β€œGuide” status
  • Weekly Summary: Aggregate card showing week’s progress

Share Destinations

Native Share Sheet:

  • Twitter/X (pre-populated with quote and hashtag)
  • Facebook (optimized image size)
  • LinkedIn (professional growth framing)
  • Instagram Stories (vertical format)
  • WhatsApp/Telegram (direct message)
  • Email
  • Copy link
  • Download image (save to device)

Platform-Specific Copy:

Twitter/X:

Day 23 of 40 in The Convergence Protocol 🧘

"The obstacle is the path."

12-day streak going strong. This journey is transforming how I relate to myself.

#ConvergenceProtocol #MeditationJourney #Day23
[link]

LinkedIn:

40 days of intentional practice. Day 23 complete.

The Convergence Protocol isn't just meditationβ€”it's a structured journey of self-discovery. Today's theme: The Mirror Stage.

Consistency compounds. What's your daily practice?

#Mindfulness #PersonalGrowth #ConvergenceProtocol
[link]

WhatsApp/Telegram:

Hey! I'm on Day 23 of a 40-day meditation journey. It's been incredibleβ€”12 days straight now.

Want to join me? We could do this together: [link]

Share Triggers

Automatic Prompts (can be disabled):

  • After completing a day’s meditation
  • When hitting streak milestones (7, 14, 21, 30, 40)
  • Weekly summary (every 7 days)
  • Upon journey completion (Day 40)

Manual Sharing:

  • Share button always available in app
  • Can share any previous day’s quote
  • Can share without completing (β€œI’m starting this journey”)

Smart Timing:

  • Prompt appears after meditation completion (not before)
  • 3-second delay to allow completion feeling to land
  • One-tap dismiss if user not interested
  • β€œDon’t ask again today” option

2. Friend Connections

Adding Friends

Invite Link Method:

  1. User taps β€œInvite Friend” in social settings
  2. System generates unique invite code: convergence://join/ABC123XYZ
  3. User shares via any platform
  4. Friend taps link β†’ opens app β†’ sees connection request
  5. Friend accepts β†’ mutual connection established

QR Code Method:

  1. User displays personal QR code
  2. Friend scans with app camera
  3. Connection request sent
  4. User accepts β†’ connection established

Manual Code Entry:

  1. User receives friend’s code (e.g., β€œSUNRISE42”)
  2. Enters code in β€œAdd Friend” field
  3. System validates and sends request
  4. Friend accepts β†’ connection established

Important: No contact import. Users must intentionally share and accept connections.

Friend List

Friend Card Display:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ 🧘 Sarah Chen              [β€’β€’β€’]   β”‚
β”‚                                     β”‚
β”‚ Day 23 of 40  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘  β”‚
β”‚ πŸ”₯ 12-day streak                    β”‚
β”‚ Last active: Today                  β”‚
β”‚                                     β”‚
β”‚ [Send Encouragement]                β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Information Shown:

  • Display name (user-chosen or anonymous)
  • Avatar (emoji selection or default)
  • Current day in journey (X of 40)
  • Visual progress bar
  • Current streak count
  • Last active status (Today / Yesterday / This week / Longer)
  • Quick action: Send encouragement

Friend List Organization:

  • Sort by: Last active (default), Day progress, Streak length
  • Group by: Active today / Active this week / Less active
  • Filter: All / Active now / On same day / Ahead / Behind

Privacy Levels

Users choose their privacy level independently for each type of data:

Progress Visibility:

  • Private: No one sees your progress (default)
  • Friends Only: Only connected friends see your day/streak
  • Anonymous Public: Progress visible to all, identity hidden (shown as β€œMeditator #1234”)

Granular Controls:

privacySettings: {
  progressVisibility: "private" | "friends" | "anonymous",
  streakVisibility: "private" | "friends",
  nameVisibility: "private" | "friends" | "anonymous",
  allowEncouragement: "nobody" | "friends",
  showLastActive: false | true
}

Changing Privacy:

  • One-tap privacy level change in settings
  • Changes apply immediately
  • Friends notified of privacy change (β€œSarah is now sharing anonymously”)

3. Progress Comparison

”Who’s Ahead” Comparisons

Comparison Messages (designed to inspire, not shame):

When you’re ahead:

  • β€œYou’re 3 days ahead of Sarah. Keep leading the way!”
  • β€œYou’ve been consistentβ€”5 days ahead of your friend Mike.”
  • β€œYou’re blazing the trail! 7 days ahead of the pack.”

When a friend is ahead:

  • β€œSarah just completed Day 25! Inspiration to keep going.”
  • β€œMike is on a 14-day streakβ€”impressive dedication.”
  • β€œYour friend Alex reached Day 30. The finish line is in sight for them!”

When converged (same day):

  • β€œYou and Sarah are both on Day 20β€”convergence!”
  • β€œYou and 3 friends are all on Day 15. Synchronized journey!”
  • β€œConvergence moment: You and Mike reached Day 30 together.”

When behind (framed positively):

  • β€œSarah started a week before youβ€”her progress inspires!”
  • β€œMike is on Day 30. When you get there, you’ll have a guide.”
  • β€œEveryone moves at their own pace. Your Day 15 is just as meaningful.”

Comparison Display:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Journey Comparisons                β”‚
β”‚                                     β”‚
β”‚  πŸƒ Ahead of you:                   β”‚
β”‚     Sarah (Day 25) - 3 days ahead   β”‚
β”‚     Mike (Day 30) - 8 days ahead    β”‚
β”‚                                     β”‚
β”‚  🀝 Same day as you:                β”‚
β”‚     Alex (Day 22) - Convergence!    β”‚
β”‚                                     β”‚
β”‚  🚢 Behind you:                     β”‚
β”‚     Jamie (Day 18) - 4 days behind  β”‚
β”‚                                     β”‚
β”‚  [View Journey Map]                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Journey Map View

A visual representation of friends’ positions on the 40-day path.

Visual Design:

Day 1                                              Day 40
|                                                    |
[β€’]────[β€’]────[β€’]────[β€’]────[β€’]────[β€’]────[β€’]────[β˜…]
 |      |      |      |      |      |      |       |
You   Mike   Sarah  Alex   --     --     --    Guides
(22)  (30)   (25)   (22)                      [🧘x12]

Legend:
β€’ = Day marker
β˜… = Completion
🧘 = Guide (completed journey)
-- = No friends at this stage

Interactive Elements:

  • Tap any friend marker to see their card
  • Tap β€œGuides” to see Day 40 finishers
  • Zoom to see cluster details
  • Filter by: All friends / Active recently / Same cohort

Cluster Display: When multiple friends are at the same day:

  • Show count badge: β€œ3 friends here”
  • Tap to expand and see names
  • β€œConvergence moment” celebration for 2+ friends on same day

Streak Leaderboard (Friends Only)

Current Streak Ranking:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Friend Streaks πŸ”₯                  β”‚
β”‚                                     β”‚
β”‚  1. Mike ............... 14 days    β”‚
β”‚  2. You ................ 12 days    β”‚
β”‚  3. Sarah .............. 8 days     β”‚
β”‚  4. Alex ............... 3 days     β”‚
β”‚  5. Jamie .............. 1 day      β”‚
β”‚                                     β”‚
β”‚  [View Longest Streaks]             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Longest Streak Ranking:

  • Shows all-time best streaks
  • Encourages consistency over time
  • β€œYour longest: 21 days (Day 15-35)”

Important Design Notes:

  • No global leaderboard (avoids toxicity)
  • Friends-only keeps it intimate and supportive
  • Rankings update daily, not real-time
  • No penalties for missing days

4. Encouragement System

Nudges (Passive Notifications)

Friend Activity Nudges:

  • β€œSarah is on a 5-day streak! πŸ”₯”
  • β€œ3 friends completed today’s meditation”
  • β€œMike just started his journeyβ€”welcome them!”
  • β€œAlex reached Day 20. They’re two-thirds through!”

Milestone Nudges:

  • β€œSarah completed Week 1! πŸŽ‰β€
  • β€œMike hit a 14-day streak!”
  • β€œAlex reached Day 40 and is now a Guide! πŸŒŸβ€

Group Activity Nudges:

  • β€œ5 friends meditated today”
  • β€œYour cohort is 80% through the journey”
  • β€œ3 friends reached Day 30 this week”

Nudge Settings:

  • Frequency: Real-time / Daily digest / Weekly / Off
  • Types: All / Milestones only / None
  • Delivery: In-app / Push notification / Both

Celebrations

Individual Celebrations:

  • Friend completes a week: β€œSarah completed Week 2! πŸŽ‰β€
  • Friend hits streak milestone: β€œMike’s 21-day streak! Incredible! πŸ”₯”
  • Friend reaches Day 40: β€œAlex completed the journey! They’re now a Guide! πŸŒŸβ€

Group Celebrations:

  • Multiple friends at same milestone: β€œYou, Sarah, and Mike all reached Day 20!”
  • Cohort progress: β€œYour March cohort is 75% complete!”
  • Streak synchronization: β€œYou and 2 friends all have 7-day streaks!”

Celebration Display:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  πŸŽ‰ Celebration!                    β”‚
β”‚                                     β”‚
β”‚  Sarah completed Day 40!            β”‚
β”‚                                     β”‚
β”‚  They've reached the convergence.   β”‚
β”‚  Now they're a Guide for others.    β”‚
β”‚                                     β”‚
β”‚  [Send Congratulations]             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Support Messages

Pre-written Encouragement Options:

For streak milestones:

  • β€œAmazing streak! Your dedication inspires me. πŸ”₯”
  • β€œXX days strong! Keep that momentum going.”
  • β€œConsistency is keyβ€”you’re proving it!”

For day progress:

  • β€œDay XX complete! You’re making real progress.”
  • β€œThe middle is the hardestβ€”you’re doing great.”
  • β€œAlmost there! The final stretch is powerful.”

For new starters:

  • β€œWelcome to the journey! You’re going to love it.”
  • β€œDay 1 is the most important day. Well done!”
  • β€œSo glad you started. I’m here if you need support.”

For tough days:

  • β€œDay 20 is intenseβ€”you’ve got this.”
  • β€œThe Mirror Stage is challenging. Trust the process.”
  • β€œEvery day matters, including the hard ones.”

For completion:

  • β€œDay 40! You did it! πŸŒŸβ€
  • β€œWelcome to the Guides. Your journey inspires.”
  • β€œWhat a transformation. Congratulations!”

Generic support:

  • β€œThinking of you on your journey.”
  • β€œYour practice inspires my practice.”
  • β€œHere if you need encouragement.”

Custom Message Option:

  • Users can write custom messages (max 140 characters)
  • Profanity filter applied
  • No links allowed (prevent spam)
  • Messages are one-way (no conversation threads)

Sending Encouragement:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Send Encouragement to Sarah        β”‚
β”‚                                     β”‚
β”‚  [Quick Options]                    β”‚
β”‚  β—‹ "Amazing streak! πŸ”₯"             β”‚
β”‚  β—‹ "Day 25β€”almost there!"           β”‚
β”‚  β—‹ "Your journey inspires me."      β”‚
β”‚  β—‹ "Custom message..."              β”‚
β”‚                                     β”‚
β”‚  [Send] [Cancel]                    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

5. Group Journeys

Start Together

Creating a Group:

  1. User selects β€œStart Group Journey”
  2. Chooses start date (today or future)
  3. Names the group (optional): β€œTeam Alpha” / β€œMarch Mindfulness”
  4. System generates invite link
  5. User shares with friends
  6. Friends join before start date
  7. Everyone begins Day 1 together on start date

Group Dashboard:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Team Alpha                         β”‚
β”‚  Started: March 1, 2024             β”‚
β”‚                                     β”‚
β”‚  Group Progress: Day 15 of 40       β”‚
β”‚  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘  β”‚
β”‚                                     β”‚
β”‚  Members (5):                       β”‚
β”‚  🟒 You ............... Day 15      β”‚
β”‚  🟒 Sarah ............. Day 15      β”‚
β”‚  🟒 Mike .............. Day 15      β”‚
β”‚  🟑 Alex .............. Day 14      β”‚
β”‚  πŸ”΄ Jamie ............. Day 12      β”‚
β”‚                                     β”‚
β”‚  [View Journey Map] [Send Group Msg]β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Group Features:

  • Synchronized start (everyone on same day)
  • Group progress visualization
  • Member status indicators (on track / 1 day behind / 2+ days behind)
  • Group encouragement (send to all members)
  • Group celebration when everyone hits milestones

Group Management:

  • Creator can remove members
  • Members can leave anytime
  • Group dissolves after Day 40 + 30 days
  • Data deleted when group dissolves

Cohort Mode

Public Cohorts:

  • Pre-scheduled start dates (1st of each month)
  • Open to anyone who opts in
  • β€œMarch 2024 Cohort” / β€œApril 2024 Cohort”
  • Anonymous participation option

Cohort Dashboard:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  March 2024 Cohort                  β”‚
β”‚  247 members β€’ Day 15 of 40         β”‚
β”‚                                     β”‚
β”‚  Today's Completion: 89%            β”‚
β”‚  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘    β”‚
β”‚                                     β”‚
β”‚  Cohort Progress:                   β”‚
β”‚  Day 15: 156 members (63%)          β”‚
β”‚  Day 14: 48 members (19%)           β”‚
β”‚  Day 13: 23 members (9%)            β”‚
β”‚  Other: 20 members (9%)             β”‚
β”‚                                     β”‚
β”‚  You're in the majorityβ€”well done!  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Cohort Benefits:

  • Shared experience with strangers-turned-journey-mates
  • Anonymous participation removes social pressure
  • See you’re not alone in the practice
  • Collective energy of synchronized practice

Cohort Privacy:

  • Members see aggregate data only
  • No individual identification (unless friends)
  • Can participate fully anonymously
  • Can switch to private mode anytime

Technical Implementation

Data Model

Friend Connection

{
  // Unique identifiers
  connectionId: "uuid-v4",           // Primary key
  userId: "uuid-v4",                 // User who initiated
  friendId: "uuid-v4",               // User who accepted
  
  // Connection status
  status: "pending" | "accepted" | "blocked" | "removed",
  initiatedAt: "ISO-8601 timestamp",
  acceptedAt: "ISO-8601 timestamp",  // null if pending
  
  // Permissions (granular privacy)
  permissions: {
    seeProgress: boolean,              // default: true
    seeStreaks: boolean,               // default: true
    seeName: boolean,                  // default: true
    sendEncouragement: boolean,        // default: true
    seeLastActive: boolean             // default: true
  },
  
  // Metadata
  source: "invite_link" | "qr_code" | "manual_code",
  inviteCode: "ABC123XYZ",           // For tracking
  
  // Soft delete
  removedAt: "ISO-8601 timestamp",   // null if active
  removedBy: "uuid-v4"               // Who removed the connection
}

Shared Progress

{
  // User identification
  userId: "uuid-v4",
  
  // Display information (user-controlled)
  displayName: "Sarah" | "Meditator #1234" | null,
  avatar: "🧘" | "🌸" | "πŸŒ™" | "custom_url" | null,
  
  // Progress data
  currentDay: 23,                    // 1-40, or 0 if not started
  totalCompleted: 22,                // Total days completed
  currentStreak: 5,                  // Consecutive days
  longestStreak: 12,                 // All-time best
  
  // Activity tracking
  lastActive: "ISO-8601 timestamp",
  lastCompletedDay: "ISO-8601 timestamp",
  
  // Journey status
  journeyStatus: "not_started" | "in_progress" | "completed" | "paused",
  startedAt: "ISO-8601 timestamp",
  completedAt: "ISO-8601 timestamp", // null if not completed
  
  // Privacy level
  privacyLevel: "private" | "friends" | "anonymous",
  
  // Visibility flags (granular control)
  visibility: {
    showProgress: boolean,
    showStreaks: boolean,
    showName: boolean,
    showLastActive: boolean
  },
  
  // Social features enabled
  socialEnabled: boolean,
  socialEnabledAt: "ISO-8601 timestamp"
}

Encouragement Message

{
  messageId: "uuid-v4",
  
  // Sender/recipient
  senderId: "uuid-v4",
  recipientId: "uuid-v4",
  
  // Message content
  messageType: "pre_written" | "custom",
  preWrittenId: "streak_milestone_1", // null if custom
  customText: "You're doing great!",  // null if pre-written
  
  // Timestamps
  sentAt: "ISO-8601 timestamp",
  readAt: "ISO-8601 timestamp",       // null if unread
  
  // Status
  status: "sent" | "delivered" | "read",
  
  // Soft delete
  deletedBySender: boolean,
  deletedByRecipient: boolean
}

Group Journey

{
  groupId: "uuid-v4",
  
  // Group info
  name: "Team Alpha",
  description: "Our mindfulness journey",
  createdBy: "uuid-v4",
  createdAt: "ISO-8601 timestamp",
  
  // Schedule
  startDate: "ISO-8601 date",
  currentDay: 15,                    // Calculated from start date
  
  // Members
  members: [
    {
      userId: "uuid-v4",
      joinedAt: "ISO-8601 timestamp",
      role: "creator" | "member",
      status: "active" | "left" | "removed"
    }
  ],
  
  // Settings
  isPublic: false,                   // Private groups only
  allowNewMembers: true,             // Can new people join?
  maxMembers: 20,                    // Limit for private groups
  
  // Status
  status: "forming" | "active" | "completed" | "dissolved",
  dissolvedAt: "ISO-8601 timestamp"
}

Cohort

{
  cohortId: "uuid-v4",
  
  // Cohort info
  name: "March 2024",
  startDate: "2024-03-01",
  endDate: "2024-04-09",             // 40 days later
  
  // Members (anonymous)
  totalMembers: 247,
  activeMembers: 189,                // Completed today
  
  // Progress distribution
  progressDistribution: {
    "day_40": 12,
    "day_39": 8,
    // ... etc
    "day_1": 3,
    "not_started": 5
  },
  
  // Aggregate stats
  averageCompletion: 0.89,           // 89% completed today
  totalMeditationMinutes: 14820,
  
  // Status
  status: "forming" | "active" | "completed",
  isJoinable: true                   // Can new people join?
}

Sync Strategy

Real-Time Updates (WebSockets)

Connection:

  • WebSocket connection established when app opens
  • Authenticated with JWT token
  • Reconnects automatically on disconnect

Events:

// Client β†’ Server
{
  type: "subscribe_friends",
  friendIds: ["uuid-1", "uuid-2", "uuid-3"]
}
 
// Server β†’ Client
{
  type: "friend_progress_update",
  friendId: "uuid-1",
  data: {
    currentDay: 24,
    currentStreak: 6,
    lastActive: "2024-03-15T09:30:00Z"
  },
  timestamp: "2024-03-15T09:30:15Z"
}

Event Types:

  • friend_progress_update: Friend completed a day
  • friend_streak_milestone: Friend hit streak milestone
  • friend_journey_complete: Friend finished Day 40
  • encouragement_received: New encouragement message
  • friend_connected: New friend connection accepted
  • group_update: Group member progress update

Polling Fallback

When WebSockets Unavailable:

  • Poll every 5 minutes when app is open
  • Poll immediately when app foregrounds
  • Poll after user action (completing day, sending encouragement)

Polling Endpoint:

GET /api/social/friends/progress
Response: {
  friends: [
    {
      friendId: "uuid-1",
      currentDay: 24,
      currentStreak: 6,
      lastActive: "2024-03-15T09:30:00Z",
      hasUpdate: true  // New since last poll
    }
  ],
  lastPoll: "2024-03-15T09:00:00Z"
}

Push Notifications

Notification Types:

  • Friend streak milestone
  • Friend journey completion
  • Encouragement received
  • Group milestone reached
  • Cohort celebration

Delivery Strategy:

  • Batch non-urgent notifications (daily digest)
  • Immediate delivery for encouragement received
  • Respect user’s quiet hours (no notifications 10pm-7am)
  • Honor DND mode

Privacy Controls

Granular Permissions System

Permission Matrix:

ActionPrivateFriends OnlyAnonymous Public
See current dayNoYesYes (as β€œDay X”)
See streakNoYesYes (as β€œX-day streak”)
See nameNoYesNo (anonymous)
See last activeNoOptionalNo
Send encouragementNoYesNo

Permission Change Flow:

  1. User changes privacy setting in UI
  2. Client sends update to server
  3. Server validates change
  4. Server updates SharedProgress record
  5. Server notifies affected friends (β€œSarah is now sharing anonymously”)
  6. Friends’ apps update on next sync

Data Retention & Deletion

Friend Connection Removal:

  • Connection marked as removed in database
  • Both users no longer see each other’s progress
  • Historical encouragement messages retained but anonymized
  • Data permanently deleted after 90 days

Social Features Disable:

  • User can disable all social features in one action
  • All friend connections marked removed
  • Shared progress data deleted
  • Encouragement messages anonymized
  • User can re-enable later (fresh start)

Account Deletion:

  • All friend connections deleted
  • All shared progress deleted
  • All encouragement messages deleted
  • Group memberships removed
  • Cohort participation anonymized
  • Full deletion within 30 days

Data Export:

  • User can request export of all social data
  • Includes: friend list, encouragement history, group memberships
  • Delivered as JSON file
  • Processed within 7 days

User Flows

Enabling Social Features

Flow Diagram:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Settings β†’ Social Features β†’ "Enable Social Features"      β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            β”‚
                            β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  [Privacy Explanation Screen]                               β”‚
β”‚                                                             β”‚
β”‚  "Social features let you:                                  β”‚
β”‚   β€’ Share progress with friends                             β”‚
β”‚   β€’ See friends' journeys                                   β”‚
β”‚   β€’ Send and receive encouragement                          β”‚
β”‚   β€’ Join group journeys                                     β”‚
β”‚                                                             β”‚
β”‚   You control what you share and who can see it.           β”‚
β”‚   You can disable this anytime."                            β”‚
β”‚                                                             β”‚
β”‚  [Learn More] [Continue]                                    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            β”‚
                            β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  [Privacy Level Selection]                                  β”‚
β”‚                                                             β”‚
β”‚  Who can see your progress?                                 β”‚
β”‚                                                             β”‚
β”‚  β—‹ Private - No one sees your progress                      β”‚
β”‚  β—‹ Friends Only - Only friends you connect with            β”‚
β”‚  ● Anonymous Public - Progress visible, identity hidden    β”‚
β”‚                                                             β”‚
β”‚  [Advanced Privacy Settings]                                β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            β”‚
                            β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  [Advanced Privacy Settings]                                β”‚
β”‚                                                             β”‚
β”‚  Who can see your:                                          β”‚
β”‚  [β€’] Current day in journey                                 β”‚
β”‚  [β€’] Streak count                                           β”‚
β”‚  [ ] Last active time                                       β”‚
β”‚                                                             β”‚
β”‚  Who can send you encouragement:                            β”‚
β”‚  [β€’] Friends only                                           β”‚
β”‚  [ ] No one                                                 β”‚
β”‚                                                             β”‚
β”‚  Display name:                                              β”‚
β”‚  [Sarah] (or leave blank for anonymous)                     β”‚
β”‚                                                             β”‚
β”‚  Avatar: [🧘] [🌸] [πŸŒ™] [πŸ•‰οΈ] [Custom]                      β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            β”‚
                            β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  [Confirmation Screen]                                      β”‚
β”‚                                                             β”‚
β”‚  You're about to enable social features with:               β”‚
β”‚  β€’ Privacy: Friends Only                                    β”‚
β”‚  β€’ Share: Day progress, streaks                             β”‚
β”‚  β€’ Receive encouragement: Yes                               β”‚
β”‚                                                             β”‚
β”‚  You can change these settings anytime.                     β”‚
β”‚                                                             β”‚
β”‚  [Enable Social Features] [Go Back]                         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            β”‚
                            β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  [Success Screen]                                           β”‚
β”‚                                                             β”‚
β”‚  πŸŽ‰ Social features enabled!                                β”‚
β”‚                                                             β”‚
β”‚  Next steps:                                                β”‚
β”‚  β€’ Add friends to see their progress                        β”‚
β”‚  β€’ Join a group journey                                     β”‚
β”‚  β€’ Share your progress                                      β”‚
β”‚                                                             β”‚
β”‚  [Add Friends] [Join Group] [Done]                          β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Adding a Friend

Flow Diagram:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Social β†’ Friends β†’ "Add Friend"                            β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            β”‚
                            β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  [Add Friend Options]                                       β”‚
β”‚                                                             β”‚
β”‚  Choose how to connect:                                     β”‚
β”‚                                                             β”‚
β”‚  [πŸ“€ Share Invite Link]                                     β”‚
β”‚  [πŸ“· Scan QR Code]                                          β”‚
β”‚  [⌨️ Enter Friend Code]                                     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

// Option 1: Share Invite Link
                            β”‚
                            β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  [Your Invite Link]                                         β”‚
β”‚                                                             β”‚
β”‚  convergence://join/ABC123XYZ                               β”‚
β”‚                                                             β”‚
β”‚  [Share] [Copy] [QR Code]                                   β”‚
β”‚                                                             β”‚
β”‚  Share via: [Twitter] [WhatsApp] [Email] [More]             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            β”‚
                            β–Ό
                    [User shares link]
                            β”‚
                            β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  [Friend Receives Link]                                     β”‚
β”‚                                                             β”‚
β”‚  "Join me on The Convergence Protocol!                      β”‚
β”‚   40 days of meditation and self-discovery."                β”‚
β”‚                                                             β”‚
β”‚  [Open in App]                                              β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            β”‚
                            β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  [Connection Request Screen]                                β”‚
β”‚                                                             β”‚
β”‚  Sarah wants to connect                                     β”‚
β”‚                                                             β”‚
β”‚  If you accept, you'll be able to:                          β”‚
β”‚  β€’ See each other's progress                                β”‚
β”‚  β€’ Send encouragement                                       β”‚
β”‚  β€’ Journey together                                         β”‚
β”‚                                                             β”‚
β”‚  [Accept] [Decline] [Block]                                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            β”‚
                            β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  [Success - Both Sides]                                     β”‚
β”‚                                                             β”‚
β”‚  You're now connected with Sarah!                           β”‚
β”‚                                                             β”‚
β”‚  [View Their Progress] [Send Encouragement]                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Sharing Progress

Flow Diagram:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  [After Completing Day 23]                                  β”‚
β”‚                                                             β”‚
β”‚  βœ“ Day 23 Complete                                          β”‚
β”‚                                                             β”‚
β”‚  "The obstacle is the path."                                β”‚
β”‚                                                             β”‚
β”‚  [Continue] [Share Progress]                                β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            β”‚
                            β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  [Share Options]                                            β”‚
β”‚                                                             β”‚
β”‚  Share your progress:                                       β”‚
β”‚                                                             β”‚
β”‚  [πŸ“± Share Card Preview]                                    β”‚
β”‚                                                             β”‚
β”‚  Share to:                                                  β”‚
β”‚  [Twitter] [Facebook] [LinkedIn] [Instagram]                β”‚
β”‚  [WhatsApp] [Telegram] [Email]                              β”‚
β”‚                                                             β”‚
β”‚  [πŸ’Ύ Download Image] [πŸ”— Copy Link]                         β”‚
β”‚                                                             β”‚
β”‚  [☐ Don't ask again today]                                  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            β”‚
                            β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  [Twitter Share Preview]                                    β”‚
β”‚                                                             β”‚
β”‚  [Share Card Image]                                         β”‚
β”‚                                                             β”‚
β”‚  Caption:                                                   β”‚
β”‚  Day 23 of 40 in The Convergence Protocol 🧘               β”‚
β”‚                                                             β”‚
β”‚  "The obstacle is the path."                                β”‚
β”‚                                                             β”‚
β”‚  12-day streak going strong.                                β”‚
β”‚                                                             β”‚
β”‚  #ConvergenceProtocol #MeditationJourney                    β”‚
β”‚                                                             β”‚
β”‚  [Edit] [Share to Twitter] [Cancel]                         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Sending Encouragement

Flow Diagram:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  [Friend List β†’ Tap Sarah]                                  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            β”‚
                            β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  [Sarah's Progress Card]                                    β”‚
β”‚                                                             β”‚
β”‚  🧘 Sarah Chen                                              β”‚
β”‚                                                             β”‚
β”‚  Day 25 of 40  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘                      β”‚
β”‚  πŸ”₯ 14-day streak                                           β”‚
β”‚  Last active: Today                                         β”‚
β”‚                                                             β”‚
β”‚  [Send Encouragement] [View Journey] [Remove Friend]        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            β”‚
                            β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  [Send Encouragement]                                       β”‚
β”‚                                                             β”‚
β”‚  Send to Sarah:                                             β”‚
β”‚                                                             β”‚
β”‚  Quick options:                                             β”‚
β”‚  β—‹ "Amazing streak! πŸ”₯"                                     β”‚
β”‚  β—‹ "Day 25β€”almost there!"                                   β”‚
β”‚  β—‹ "Your journey inspires me."                              β”‚
β”‚  β—‹ "Day 20 is toughβ€”you've got this"                        β”‚
β”‚  ● "Custom message..."                                      β”‚
β”‚                                                             β”‚
β”‚  [Write your own (140 chars max)]                           β”‚
β”‚  "So impressed by your consistency!"                        β”‚
β”‚                                                             β”‚
β”‚  [Send] [Cancel]                                            β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            β”‚
                            β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  [Success]                                                  β”‚
β”‚                                                             β”‚
β”‚  βœ“ Encouragement sent to Sarah!                             β”‚
β”‚                                                             β”‚
β”‚  [Back to Friends]                                          β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Creating a Group Journey

Flow Diagram:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Social β†’ Groups β†’ "Create Group"                           β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            β”‚
                            β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  [Create Group Journey]                                     β”‚
β”‚                                                             β”‚
β”‚  Group name (optional):                                     β”‚
β”‚  [Team Alpha           ]                                    β”‚
β”‚                                                             β”‚
β”‚  Start date:                                                β”‚
β”‚  [Today] [Tomorrow] [Custom: ___]                           β”‚
β”‚                                                             β”‚
β”‚  [β€’] Everyone starts Day 1 together                         β”‚
β”‚  [ ] Members can join anytime (not recommended)             β”‚
β”‚                                                             β”‚
β”‚  [Create Group]                                             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            β”‚
                            β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  [Group Created!]                                           β”‚
β”‚                                                             β”‚
β”‚  Team Alpha starts March 15, 2024                           β”‚
β”‚                                                             β”‚
β”‚  Invite friends:                                            β”‚
β”‚  [Share Invite Link]                                        β”‚
β”‚  [Invite from Friends List]                                 β”‚
β”‚                                                             β”‚
β”‚  Group code: ALPHA88                                        β”‚
β”‚                                                             β”‚
β”‚  [Done]                                                     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Safety & Moderation

Anti-Spam Measures

Rate Limiting:

  • Friend requests: Max 10 per day per user
  • Encouragement messages: Max 50 per day per user
  • Custom messages: Max 20 per day per user
  • Group invites: Max 5 per day per user

Block Functionality:

  • Users can block any friend
  • Blocked users cannot:
    • See your progress
    • Send encouragement
    • Invite you to groups
    • Find you via search
  • Block is one-way (you also don’t see them)
  • Can unblock anytime

Report System:

  • Report categories:
    • Inappropriate message
    • Harassment
    • Spam
    • Other
  • Reports reviewed within 24 hours
  • Action taken: Warning / Temporary ban / Permanent ban
  • Reporter notified of outcome

No Public Messaging:

  • Only pre-written encouragement options
  • Custom messages limited to 140 characters
  • No links allowed in custom messages
  • No conversation threads (one-way only)
  • No group chat functionality

Mental Health Safeguards

No β€œFalling Behind” Messaging:

  • Never show β€œYou’re behind Sarah”
  • Never show β€œX friends are ahead of you”
  • Frame all comparisons positively
  • Emphasize personal journey over relative progress

No Guilt for Missed Days:

  • Streak resets without shame
  • β€œYour streak ended. Day 1 is always available.”
  • Celebrate return: β€œWelcome back! Your journey continues.”
  • No notifications about broken streaks

Emphasis on Personal Journey:

  • Default view: Your progress only
  • Social features are opt-in
  • Easy to disable if causing anxiety
  • Regular check-ins: β€œHow are you feeling about social features?”

Resources for Overwhelm:

  • In-app message: β€œFeeling overwhelmed? It’s okay to take a break.”
  • Link to mental health resources
  • Option to pause (not quit) the journey
  • Option to disable social features temporarily

Design Principles:

  • No red colors for β€œbad” states (use neutral grays)
  • No negative sound effects
  • No vibration for β€œfailure” events
  • Positive framing on all copy

Content Moderation

Pre-written Messages:

  • All pre-written options reviewed by mental health professionals
  • No comparative language (β€œbetter than”, β€œahead of”)
  • No pressure language (β€œshould”, β€œneed to”)
  • Focus on celebration and support

Custom Message Filtering:

  • Profanity filter (block inappropriate language)
  • Link detection (block URLs)
  • Contact info detection (block phone numbers, emails)
  • Pattern detection for spam
  • AI moderation for harmful content

User Controls:

  • Disable custom messages (pre-written only)
  • Disable all encouragement
  • Block specific users
  • Report inappropriate content

Metrics & Success

Engagement Metrics

Social Feature Adoption:

  • Percentage of users who enable social features
  • Breakdown by privacy level chosen
  • Time to enable (days after starting journey)
  • Correlation with journey completion

Friend Connections:

  • Average number of friends per social user
  • Connection acceptance rate
  • Average time from invite to acceptance
  • Most common connection method

Sharing Activity:

  • Shares per user per week
  • Most popular share destination
  • Share card generation rate
  • Organic signups from share links

Encouragement Activity:

  • Encouragement messages sent per user
  • Pre-written vs custom message ratio
  • Most popular pre-written options
  • Encouragement response rate

Group Participation:

  • Percentage of social users in groups
  • Average group size
  • Group completion rate vs solo completion rate
  • Cohort participation rate

Success Indicators

Primary Success Metrics:

  1. Higher Completion Rates for Social Users

    • Target: Social users 20% more likely to complete Day 40
    • Track: Day 40 completion rate (social vs non-social)
    • Segment: By number of friends, by group participation
  2. Longer Streaks with Friends

    • Target: Social users have 30% longer average streaks
    • Track: Average streak length (social vs non-social)
    • Segment: By friend count, by encouragement received
  3. Positive Sentiment in Feedback

    • Target: 80% positive sentiment on social features
    • Track: In-app feedback, app store reviews, support tickets
    • Monitor: Specific complaints about social features
  4. Organic Growth from Shares

    • Target: 15% of new users from share links
    • Track: Attribution of new signups
    • Monitor: Share-to-signup conversion rate

Secondary Success Metrics:

  1. Engagement Depth

    • Daily active social users / Total social users
    • Average session frequency for social users
    • Feature usage breadth (how many features used)
  2. Community Health

    • Friend retention rate (still connected after 30 days)
    • Block rate (low is good)
    • Report rate (low is good)
    • Encouragement sentiment analysis
  3. Privacy Respect

    • Percentage keeping privacy as β€œPrivate” or β€œFriends Only”
    • Rate of privacy setting changes
    • Social feature disable rate
    • Account deletion rate

Success Dashboard:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Social Features Success Dashboard                          β”‚
β”‚  Last 30 Days                                               β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                             β”‚
β”‚  ADOPTION                                                   β”‚
β”‚  Social feature enable rate: 42% β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘      β”‚
β”‚  Target: 50%                                                β”‚
β”‚                                                             β”‚
β”‚  COMPLETION                                                 β”‚
β”‚  Day 40 completion (social): 68% β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘      β”‚
β”‚  Day 40 completion (non-social): 52% β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘      β”‚
β”‚  Lift: +31% βœ“                                               β”‚
β”‚                                                             β”‚
β”‚  ENGAGEMENT                                                 β”‚
β”‚  Avg friends per user: 3.2                                  β”‚
β”‚  Avg shares per user: 2.8                                   β”‚
β”‚  Avg encouragement sent: 12.4                               β”‚
β”‚                                                             β”‚
β”‚  GROWTH                                                     β”‚
β”‚  New users from shares: 18% β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘      β”‚
β”‚  Target: 15% βœ“                                              β”‚
β”‚                                                             β”‚
β”‚  HEALTH                                                     β”‚
β”‚  Block rate: 0.3% βœ“                                         β”‚
β”‚  Report rate: 0.1% βœ“                                        β”‚
β”‚  Social disable rate: 8% βœ“                                  β”‚
β”‚                                                             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

A/B Testing Opportunities

Testable Hypotheses:

  1. Share Card Design

    • Test: Minimal vs detailed share cards
    • Metric: Share rate, click-through rate
  2. Encouragement Timing

    • Test: Immediate vs batched encouragement notifications
    • Metric: Encouragement response rate, user satisfaction
  3. Comparison Framing

    • Test: β€œYou’re ahead” vs β€œYour friend is at…” vs no comparison
    • Metric: Engagement, completion rate, anxiety indicators
  4. Group Size

    • Test: Small groups (3-5) vs medium (6-10) vs large (11-20)
    • Metric: Group completion rate, member satisfaction
  5. Privacy Defaults

    • Test: Default to β€œFriends Only” vs β€œPrivate”
    • Metric: Adoption rate, retention rate, satisfaction

Implementation Checklist

Phase 1: Core Social (MVP)

  • Share progress cards
  • Basic friend connections (invite link)
  • Friend progress viewing
  • Pre-written encouragement
  • Privacy settings (Private / Friends Only)

Phase 2: Enhanced Social

  • QR code friend connections
  • Journey map visualization
  • Custom encouragement messages
  • Streak leaderboard (friends only)
  • Anonymous public mode

Phase 3: Group Features

  • Private group creation
  • Group progress dashboard
  • Cohort mode
  • Group celebrations

Phase 4: Advanced Features

  • Real-time sync (WebSockets)
  • Push notifications
  • Advanced privacy controls
  • Data export

Appendix: Copy Guidelines

Tone Principles

DO:

  • Use warm, supportive language
  • Celebrate effort and consistency
  • Frame everything positively
  • Respect individual journey
  • Use inclusive language

DON’T:

  • Use competitive language (β€œwin”, β€œbeat”, β€œahead”)
  • Use shame or guilt
  • Create pressure or urgency
  • Compare in ways that could cause anxiety
  • Use addictive/gamification language (β€œaddicted”, β€œcan’t stop”)

Example Copy Review

❌ Don’t Useβœ… Use Instead
”You’re falling behind""Everyone moves at their own pace"
"Sarah is ahead of you""Sarah is on Day 25β€”impressive dedication!"
"Don’t break your streak!""Your 12-day streak is amazing"
"You should meditate today""Day 23 is ready when you are"
"Catch up to your friends""Your friends are cheering you on"
"Only 17 days left""You’re more than halfway through"
"You’re losing to Mike""Mike just hit Day 30β€”what a milestone!”

Document Version: 1.0 Last Updated: 2024 The Convergence Protocol - Social Features Specification