← Portfolio  ·  Demo · sample data, no client data
9:41Calm Couch▢ ▣ ◔
Calm Couch
between-session practice
demo

Room RF-2847

Lobby

You're both here 💛

In the real app, Partner A & Partner B are connected via Supabase Realtime. This demo simulates Partner B locally.

Synced (simulated)
  • Partner A: Alex (you)
  • Partner B: Jordan
Not therapy. Calm Couch is a between-session practice tool used with a licensed counselor. Pause anytime.

⛵ Pausing is not abandonment when you name a return time.

Take the time you need. Both partners will be notified.

Reason

Stop 3 · Soft Start-Up Synced (simulated)

I-Statements & Soft Start-Up

⛵ Safe Harbor is active. Session paused for both partners. Resume when ready.

2 min · Move on when: both feel heard

Before you begin, take one slow breath together. 💛

Speaker · Partner A has the floor

Using "I feel…" language, share one thing that has been on your mind this week. Keep it to 2–3 sentences.

Listener · Partner B

Listen fully without interrupting. After your partner finishes, reflect back what you heard: "It sounds like you feel…"

Alex: still going Jordan: still going

Tap 'I'm ready' when you are. 'Next stop' opens once you've both checked in.

Shared pacing · step 1 of 6

Route complete.

You both stayed with it. Take a moment to acknowledge that.

You both made it through.

Alex & Jordan · Route finished 💛
Not therapy. Celebrate the practice. Bring what came up to your next session.
🏠Home
🌱Session
Notes
Profile

Gotta-Guy — Realtime Guided Exercises

Couples counselors assign a structured "route" (e.g. Soft Start-Up, Active Listening) and both partners practice it at home, live-synced via Supabase Realtime. Each partner sees the same step, a shared timer, and a per-partner "I'm ready" gate that prevents anyone from racing ahead.

Demo · sample data, no client data
What it does

Two partners join the same room code; Supabase Realtime keeps both screens on the identical step and timer. A "both ready" gate controls step advancement.

Inputs

Room code, exercise selection, per-partner "I'm ready" checkboxes, optional Safe Harbor reason & return time.

Outputs

Synced step display, shared pacing timer, completion record, brief warm affirmation when both advance together.

How the demo simulates realtime

  • Partner A's "I'm ready" checkbox is interactive.
  • Partner B's acknowledgment arrives automatically after ~2.5 s (simulating a Supabase Postgres Change event).
  • The shared timer is driven by a client-side setInterval; both "partners" advance on the same clock.
  • Safe Harbor pauses the timer for both views simultaneously.

Real app: Supabase Realtime postgres_changes + presence channels keep every row in sync across devices.

runSelfTest: pending…