Therapy Jeff App

Interactive blueprint for the app's architecture, data model, screens, and technical stack.

What Is This App?

This app, from creator Therapy Jeff, is a relationship advocacy tool designed to help people build connections that feel good. It moves beyond simple compatibility scores to provide users with actionable tools, deep insights, and a space for reflectionβ€”whether they are single, dating, in a monogamous partnership, or exploring ethical non-monogamy.

Intended Audience

Primary audience: millennials and Gen Z individuals seeking to better understand themselves and their relationships. The app is inclusive of all gender identities, sexual orientations, and relationship styles (monogamous, polyamorous, etc.), and uses a warm, affirming, emotionally intelligent tone.

Big-Picture Features

The user experience is built on three pillars:

πŸ—“οΈ

Daily Connection

Features like Daily Questions and the Relationship Tracker create consistent, healthy habits.

🧠

Deep Insights

The "My Core" profile engine, powered by Quizzes and Courses, gives a nuanced, data-driven view.

πŸ“š

A Library of Tools

Card Packs, Journal Prompts, and collaborative tools like Rules & Boundaries support any moment.

Relationships

Core model representing the functional connection between two or more users. It powers shared features like the Relationship Tracker, Rules & Boundaries, games, and visibility controls. Designed for both monogamous couples and complex ENM polycules with granular privacy.

Description

A confirmed Relationship entry enables shared features and content visibility between specific users. This is distinct from the private, visual Polycule Map (a user-only diagram).

Inputs & Outputs

  • Inputs: User invitations to link with partners.
  • Outputs: A confirmed link that enables shared features and shared content visibility.

Laravel Model Fields (Relationship)

participants: JSON β€” user IDs of two or more users in the relationship.

status: Enum β€” pending, confirmed, unlinked.

additional_visible_to: JSON β€” grant view access to other users (e.g., polycule visibility).

relationship_agreements: JSON β€” Rules & Boundaries blocks. Each rule contains: rule_title, rule_description, rule_category, rule_status, created_by_user_id, and agreement_status recording per-participant agreement.

Note: The Rules & Boundaries model lives on the Relationship for tight integration.

Related Features

  • Relationship Tracker β€” entries reference a specific Relationship via relationship_id.
  • Daily Questions β€” answer reveal logic keyed to relationship_id.
  • Rules & Boundaries β€” authored directly on this Relationship entry.
  • How-Well-Do-You-Know-Me? β€” game rounds scoped to a Relationship context.
  • Polycule Map β€” separate, private visualization (stored on User), not a Relationship record.

Admin Tips

  • Use status to drive UI gates (e.g., hide shared data when unlinked).
  • Favor granular additional_visible_to grants over global sharing toggles for ENM setups.
  • Consider an automated job to archive Rules when a Relationship becomes unlinked.

Feature Blueprint

This section provides a detailed breakdown of each feature's architecture. Select a feature from the list to view its description, purpose, and the specific Laravel fields required for its implementation.

Select a Feature

    The User Data Model

    A user's data is structured into three distinct parts. Select a component from the list to learn more about its purpose and structure.

    User Model Components

      User Scenarios

      This section outlines potential user flows through the app, demonstrating how features interact during key moments in a user's lifecycle.

      Select a Scenario

        App Screens & Views

        A comprehensive checklist of screens, views, and key components. Use this to guide wireframes and handoffs. Select a category to view its screens.

        Categories

          Monetization & Subscriptions

          The app operates on a freemium model. A Free tier offers a solid core experience, while a Premium subscription unlocks advanced features and full content access.

          Free Tier

          • Limited Daily Questions (e.g., one per day, no tone choice).
          • Limited Relationship Tracker history (e.g., last 7 days visible).
          • Access to a curated selection of Online Courses, Quizzes, and Card Packs.
          • Full access to community features like Polls and Audio Questions.

          Premium Tier

          • Unlimited access to all Online Courses.
          • Full Relationship Tracker history + advanced trend analysis.
          • Unlimited Quizzes and detailed compatibility reports.
          • Full access to the How Well Do You Know Me? game.
          • Collaborative tools like Rules & Boundaries.
          • Private Polycule Map access.
          • Entire library of Card Packs and Journal Prompts.
          • Choice of tones for Daily Questions.

          Onboarding & Trial Flow

          • Offer a 7-day free trial during onboarding with clear value statements.
          • Subscription managed via App Store / Google Play; reflect state in subscription_status (Users).
          • Graceful downgrade: preserve data, lock premium features with a "Premium Feature" modal.

          Laravel Model Fields (User)

          • subscription_status: Enum β€” free, premium, trial.
          • notification_preferences: JSON β€” manage push/email toggles per channel.

          App stores remain the source of truth for payments; Laravel mirrors state for content gating.

          Gating & UX Patterns

          • Premium Lock Modal: Trigger when a Free user taps a premium feature; provide benefits summary + subscribe CTA.
          • Soft Previews: Show limited content excerpts (e.g., first lesson) with an upgrade ribbon.
          • Library Badges: Mark premium-only items with a subtle badge in lists.
          • Event Hooks: Emit subscription:changed in the app to refresh gated views instantly.

          Resources

          Handy links for product, design, and engineering.

          Categories

            Technical Architecture

            Decoupled, cache-first architecture for performance, scalability, and easy maintenance. Select a component to learn more.

            Architecture Components