Part III · Chapters 15–18

The pact

Two lanes, one finish line — plus the reminders, surfaces, and permission boundary around them.

Chapters
1518
Count
4
Reading time
5 min

Chapter 15. The Pact and Pactmate Experience

2 min read5 parts

15.1 Make a Pact flow

  1. The initiating user invites one Pactmate by email or verified phone number.
  2. The initiator selects a fixed term: 1 week, 1 month, 2 months, or 3 months.
  3. The initiator picks their Pact Lane: workouts, nutrition, or both.
  4. The invitee creates or signs into a FitPact account.
  5. The invitee accepts or declines the pact.
  6. When accepting, the invitee chooses either Back my Pactmate or Make it mutual.
  7. If mutual, the invitee creates a separate Pact Lane containing workouts, nutrition, or both.
  8. Both members review the term, lane scopes, default visibility, and Pact Pulse cadence.
  9. Both members confirm, and the fixed-term pact becomes active on its start date.

An invitation expires after a configurable period. One account may own a Pact Lane and act as Pactmate for the other member inside the same pact.

15.2 Pact lifecycle

Pact statuses are:

  • Invited
  • Ready to start
  • Active
  • Paused
  • Ended early
  • Finished

The pact stores an immutable term selection plus deterministic start and end dates. It cannot remain active outside that interval. Members may pause or end it early, but they cannot extend it. At Finish, FitPact celebrates participation without requiring perfect adherence and offers a deliberate Make another pact action.

15.3 Separate Pact Lanes

  • Each lane belongs to exactly one member.
  • Each lane independently contains workouts, nutrition, or both.
  • Each member logs, edits, pauses, and requests Resets only for their own lane.
  • Each Pactmate views the other lane through that lane owner’s permissions.
  • A mutual pact does not combine adherence scores or goals.
  • A member may pause their own lane without automatically pausing the other member’s lane.
  • Either member may leave or end the shared pact; the other member’s personal plans remain available outside the ended pact.

15.4 Default Pactmate visibility

After the user reviews and confirms the sharing summary, the Pactmate can see by default:

  • Primary goal
  • Active workout plan
  • Active nutrition framework and macro targets
  • Upcoming workouts and meal commitments
  • Daily completion states
  • Workout adherence
  • Nutrition adherence
  • Partial and missed commitments
  • Pact Pulse summaries
  • Upcoming Pact Pulses
  • Proposed Resets

The following remain private unless separately and explicitly shared:

  • Health issues and safety-intake answers
  • Allergens and physical limitations beyond what is visible in the plan
  • Body weight and body measurements
  • Progress photos
  • Private notes
  • Account and contact information not required for the pact

The user sees a plain-language preview of default sharing before activating the pact and may revoke sharing or end the pact at any time.

15.5 Structured interactions

FitPact does not provide free-form direct messaging in the MVP. Pactmates can:

  • Send a predefined Boost.
  • React to a completed or partially completed commitment.
  • Answer a structured weekly Pact Pulse.
  • Ask a predefined support question.
  • Co-sign or decline a proposed Reset.
  • Select a structured reason when declining.

Suggested language must be supportive and must not shame, threaten, diagnose, or imply surveillance.


Chapter 16. SMS Reminders

1 min read3 parts

MVP reminders are delivered by SMS.

User reminders

  • Upcoming planned activity
  • Pact Pulse ready
  • Pactmate interaction
  • Reset co-signed or declined
  • Pact invitation status

Pactmate reminders

  • New pact invitation
  • Scheduled Pact Pulse
  • User response
  • Reset awaiting co-sign
  • Pact paused or ended

Requirements

  • A verified mobile number and explicit SMS consent are required before SMS is enabled.
  • SMS consent is recorded separately for each account.
  • Users can disable nonessential reminders and withdraw SMS consent.
  • Quiet hours use the recipient’s timezone and default to 21:00–08:00.
  • Sensitive health information, weight, macro values, and adherence details do not appear in SMS text.
  • SMS links require authentication before showing private information.
  • Reminder frequency is configurable and rate-limited.
  • The product supports legally required opt-out handling.

Structured Pactmate actions occur inside FitPact; SMS serves as the notification and return channel, not as unrestricted Pactmate-to-user messaging.


Chapter 17. Dashboard and Navigation

1 min read3 parts

User navigation

  • Today
  • Plan
  • Progress
  • Pact
  • Profile

Today dashboard

The dashboard answers:

  • What did I commit to today?
  • What have I fully or partially completed?
  • Is a Pact Pulse, Boost, or Reset action waiting?

It contains:

  • Today’s workout
  • Today’s meal framework and macro targets
  • Fast logging controls
  • Separate weekly workout and nutrition adherence
  • Structured Pactmate interactions
  • A request-plan-change action

Pactmate navigation

  • Overview
  • Pact Pulses
  • Resets
  • Settings

The Pactmate overview prioritizes encouragement and context rather than surveillance or rankings.


Chapter 18. Roles and Permissions

1 min read

Permissions are evaluated relative to each Pact Lane. In a mutual pact, each person is the owner of their own lane and the Pactmate for the other lane.

Capability Lane owner Other Pactmate
Maintain own fitness journey Yes Yes
Create and edit this lane’s plans Yes No
Activate first plan Yes No
Reset an active plan Submit Co-sign or decline
Pause or stop this lane Yes No
Log this lane’s activity Yes No
View shared plan and adherence Yes Yes, by pact permission
Send structured interactions Yes Yes
Send free-form messages No No
Change sharing permissions Yes No
Change the fixed pact term No No
End pact Yes Yes
View health intake or private notes Yes No by default

Role checks are relationship-scoped: being a Pactmate for one person grants no access to any other user.